我是Ruby on Rails的新手,我在Rails自動加載機制上打破了僵局。Rails的自動加載示例
我有這樣的代碼在我/app/helpers/posts_helper.rb
:
module PostsHelper
def markdown_render(data)
Utils::Markdown.render data
end
end
而且我有/app/utils/markdown.rb
的東西,如:
module Utils
class Markdown
class << self
def render(data)
# render some dataz
end
end
end
end
據http://guides.rubyonrails.org/autoloading_and_reloading_constants.html,Utils::Markdown
將從/app/utils/markdown.rb
被加載,而是我收到:
ActionView::Template::Error:
uninitialized constant PostsHelper::Utils
我明白問題在於從輔助模塊引用Utils,但我沒有任何想法如何正確地引用該引用。
請在我的腦袋崩潰之前幫助我! = - )
可以刪除[標籤:自動加載]和[tag:ruby-on-rails]這個問題的標籤,它並沒有真正涉及到。你的問題只是普通的ruby **不斷查找**。 (儘管當然沒有自動加載,你必須使用'require') –
根據http://guides.rubyonrails.org/autoloading_and_reloading_constants.html,Ruby常量查找和Rails自動加載是完全不同的,所以我更喜歡他們留下來。 = - ) – StragaSevera