Jos*_*eim 12 ruby-on-rails helper rails-engines
我目前正在尝试将功能转移到引擎中.到目前为止它运行良好,但我有点困惑为什么引擎的某些部分总是在发生变化时自动重新加载,而有些部分则没有.
具体来说,在添加辅助方法时,我必须重新启动Rails服务器,否则Rails不会看到它.这是正常的行为吗?这是我的引擎的相关部分:
组件/ iq_list.rb
# encoding: utf-8
require 'iq_list/engine'
# Load IqList Modules
module IqList
extend ActiveSupport::Autoload
autoload :Helpers
autoload :Models
autoload :Controllers
end
Run Code Online (Sandbox Code Playgroud)
组件/ iq_list/engine.rb
module IqList
class Engine < ::Rails::Engine
end
end
Run Code Online (Sandbox Code Playgroud)
组件/ iq_list/helpers.rb
module IqList
module Helpers
extend ActiveSupport::Autoload
autoload :IqListHelper
end
end
Run Code Online (Sandbox Code Playgroud)
组件/ iq_list /助理/ iq_list_helper.rb
module IqList
module Helpers
module IqListHelper
def some_method
# ...
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
我对引擎还很陌生,上面的很多代码都是从别人的工作中拿走的,所以请耐心等待我.任何暗示正确的方向都受到高度赞赏.
小智 1
看来您可能用引擎找错了树。如果您试图简单地实现关注点分离,您可能只想创建一些普通的旧 ruby 类并将它们放入lib/
(当然以有组织的方式)。
引擎将与您的“当前”项目分开开发,很可能通过 gem 引入。AFAIK 中包含的宝石的更改将需要重新启动服务器。
归档时间: |
|
查看次数: |
952 次 |
最近记录: |