Tôi hiện đang thử nghiệm với chức năng chuyển động vào động cơ. Nó hoạt động độc đáo cho đến nay, nhưng tôi là một chút bối rối lý do tại sao một số bộ phận của động cơ luôn luôn tự động tải lại khi một cái gì đó thay đổi, và một số thì không.Rails Động cơ: Người giúp chỉ được tải lại khi khởi động lại máy chủ
Cụ thể, khi thêm phương thức trợ giúp, tôi phải khởi động lại máy chủ Rails, nếu không nó không được Rails nhìn thấy. Đây có phải là hành vi bình thường không? Dưới đây là phần có liên quan của động cơ của tôi:
components/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
components/iq_list/engine.rb
module IqList
class Engine < ::Rails::Engine
end
end
components/iq_list/helpers.rb
module IqList
module Helpers
extend ActiveSupport::Autoload
autoload :IqListHelper
end
end
thành phần/iq_list/người trợ giúp/iq_list_helper.rb
module IqList
module Helpers
module IqListHelper
def some_method
# ...
end
end
end
end
Tôi vẫn còn rất mới cho động cơ, và rất nhiều mã ở trên tôi đã lấy từ công việc của người khác, vì vậy hãy kiên nhẫn với tôi. Bất kỳ gợi ý nào đi đúng hướng đều được đánh giá cao.
http://stackoverflow.com/questions/4713066/how-can-i-force-my-plugin- để tải lại-với-mỗi-yêu cầu – apneadiving
Tại sao mã của bạn nằm bên dưới thư mục 'components'? Điều gì khiến bạn làm điều đó? Các thành phần là một tính năng cổ xưa của Rails (1.2). –
Bạn sẽ đặt nó ở đâu? Như đã nói, tôi đã lấy mã từ một người khác, và tôi nghĩ rằng đó là bởi vì trong công cụ 'ứng dụng/thành phần' được tải lại đúng cách. Bạn sẽ đặt một động cơ bạn đang phát triển ở đâu? –