无法访问辅助方法?

时间:2013-07-25 07:05:30

标签: ruby-on-rails ruby-on-rails-3.2 helper helpermethods

这是一个奇怪的问题。

在我的应用程序助手中,有一个名为 test 的方法,另一个名为 article_url 的方法。我有文章资源,并生成其url_helpers。在测试方法中,我调用 article_url ,但它访问 url_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 个答案:

答案 0 :(得分:0)

重命名您的帮助方法。如果您有一个名为article_url的帮助程序和一个名为article的资源,则article_url在路由和帮助程序之间将不明确。如果您认为这不是问题,请发布一些代码以帮助我们缩小问题范围。