如果我需要在rails中向我的控制器添加(项目特定的)类,那么放置和“包含”它们/那里.rb文件的正确方法/位置是什么?(引用:不是 ruby 关键字包括)
我是rails新手,没有找到正确的方法。LIB 听起来像是更多的公共图书馆,而且 - 我所学到的 - 在开发模式下默认不会重新加载。
当然,我可以将所有内容都放在 controler.rb 中,但是...
我的分析器:
首先:没有规则,如果您记住(或像我一样学习)rails 规则:NameOfCla -> name_of_cla(.rb) <-- 不使用类作为明确的词
以你喜欢的方式命名你的班级:
class ExtendCon #<--- not using controller here for clearence
....
把它放在一个文件extend_con.rb
中,请等待路径说明。如果您将班级命名为“MYGreatThing”,它将是“m_y_great_thing”(从不测试),因此请避免使用中文字符
如果您的控制器使用
@letssee=ExtendCon.new
rails 会自行学习该类和文件 (extend_con)。我仍然没有弄清楚是否需要重新启动服务器。(第一次)
选择放置文件的路径:(我更喜欢 Daves 方式)app/myexten
或您喜欢的方式,使其成为“应用程序”特定的,并且仍然与标准 rails 的“事物”不同
如果你不像我一样懒惰(我把它放在 app/ontrollers 中)把你选择的路径放进去
config/application.rb
喜欢(评论在那里找到它)
# Custom directories with classes and modules you want to be autoloadable.
# config.autoload_paths += %W(#{config.root}/app/controllers)
config.autoload_paths += %W(#{config.root}/app/myexten)
这个适用于所有模式,包括“开发者”,我不需要将“我自己”的东西放在 app/lib 中