Не можете получить доступ к вспомогательному методу?
Здесь странная проблема.
В моем помощнике приложения есть метод с именем test и другой метод с именем article_url. У меня есть ресурс article, и я создаю его url_helpers. В тестовом методе я вызываю article_url, но он обращается к методу url_helper вместо метода, который я определил в helper.
Мой проект хорошо работает в Rails 3.0, но когда я обновляюсь до 3.2, это поднимает проблему. И под 3.2, режим разработки работает хорошо, но проблема повышения производства.
Пожалуйста, прости мой плохой английский:-)
Извините, код такой:
# application_helper.rb
module ApplicationHelper
...
def article_url(article, html_suffix = true)
if article.redirect_to.present?
article.redirect_to
else
url = "#{Settings.host}/articles/#{article.created_at.strftime("%Y-%m-%d")}/#{article.id}"
url += ".html" if html_suffix
url
end
end
...
def render_article_list(article)
link_to(xxx, article_url(article), {:target => "_blank"})
end
end
1 ответ
Переименуйте ваш вспомогательный метод. Если у вас есть помощник по имени article_url
и ресурс с именем article
затем article_url
будет неоднозначно между маршрутами и помощником. Если вы не думаете, что это проблема, опубликуйте код, который поможет нам сузить проблему.