Я новичок в 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] из этого вопроса, на самом деле это не связано. Ваша проблема - просто рубиновый ** постоянный поиск **. (Хотя, конечно, без автозагрузки вы должны использовать 'require') –
Согласно http://guides.rubyonrails.org/autoloading_and_reloading_constants.html, поиск констант Ruby и автозагрузка Rails совсем разные, поэтому я бы предпочел их оставаться. = -) – StragaSevera