ruby-on-rails - Rails lib 目录

标签 ruby-on-rails model-view-controller require

关于lib目录的问题。

使用 lib 目录有哪些好的做法?
什么时候应该在应用程序/模型或应用程序/帮助程序上使用它?
与如何让 Rails 3 包含 lib 目录中的文件有些相关?

谢谢

最佳答案

lib 目录的一种用途(我最常用的方式)是在模型之间共享代码以保持 DRY。例如,如果您在许多不同的模型上定义 tag_tokens 属性以与分词器输入一起使用,则可以将其放入“tag_accessor.rb”或其他内容中,将其放入 /lib',然后将其包含在 include TagAccessor 中。 ruby 文件可能如下所示:

module TagAccessor
  def tag_tokens
    tags.map(&:name).join(',')
  end

  def tag_tokens=(names)
    self.tag_ids = names.split(",").uniq
  end
end

(这是我的一个应用程序的示例,这就是它如此具体的原因)。然后要在 Rails 3 中加载/lib 文件夹,请将其放入 application.rb 中:

 config.autoload_paths += %W(#{config.root}/lib)

关于ruby-on-rails - Rails lib 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7736773/

相关文章:

ruby-on-rails - 脚手架一代

ruby-on-rails - 在单独的表中按 "vote"记录数显示帖子

json - DialogFlow Google Assistant Webhook 响应 : "Empty speech response"

asp.net-mvc - ASP.NET MVC - 创建新模型或使用 Entity Framework 类

PHP require() 或 include() 并调用类变量?

ruby-on-rails - Ruby on Rails 模块需要问题

ruby-on-rails - 我将如何解析此 url 以获取 id?

java - MVC 和 Java 与更严格的 MVC 语言相比

php - Eclipse PDT - 文件系统更改或新的 Composer 自动加载路径会破坏自动加载器

ruby - 在 Ruby 中使用 require 的最佳实践是什么?