我在rails helper中手动定义了一个路径,因为我在使用slug作为url时遇到了一些冲突。它已经工作了一段时间,但现在我突然得到一个错误的参数数量(1为0)"错误。
在文章助手中:
def edit_article_path()
"/articles/#{@article.id}/edit"
end
非常感谢任何帮助。
答案 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)