控制器中未定义的方法(路由)

时间:2017-07-14 03:30:28

标签: ruby-on-rails ruby ruby-on-rails-4

我是rails的新手,我正在开发一个现有的应用程序来处理像这样的人:

<%= link_to 'Edit', edit_answer_path(ans) %>

链接到文件/answers/edit.html.erb但现在我需要创建一个链接到文件/answers/comment.html.erb的按钮,我该怎么做呢?

我已经尝试了

<%= link_to 'Comment', comment_answer_path(ans) %>

但即使将这些行添加到answers_controller后,我也收到错误“未定义的方法'comment_answer_path'”:

def comment
  ans = Answer.find(params[:id])
end

2 个答案:

答案 0 :(得分:2)

您需要向config/routes.rb添加路由,然后重新启动服务器。像

这样的东西
resources :answers do
  member do
    get 'comment'
  end
end

也会为您创建comment_answer_path帮助器。

答案 1 :(得分:1)

这取决于您在routes.rb中设置路线的方式。

您可以使用rake routes查看所有路径及其别名的列表。