在rails中定义路径后,参数数量错误

时间:2014-06-20 13:26:05

标签: ruby-on-rails ruby rails-routing

我在rails helper中手动定义了一个路径,因为我在使用slug作为url时遇到了一些冲突。它已经工作了一段时间,但现在我突然得到一个错误的参数数量(1为0)"错误。

在文章助手中:

def edit_article_path()
"/articles/#{@article.id}/edit"
end

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您不应该依赖@article变量,因为您的方法是一个帮助程序,可以在视图中的任何位置访问,而某些(大多数?)视图可能没有设置@article变量。

我建议你改用这个实现:

def edit_article_path(article)
  "/articles/#{article.try(:id) || article}/edit"
end

像这样使用:

# view
link_to article.title, edit_article_path(article)
# or
link_to article.title, edit_article_path(article.id)