没有路由匹配{:action =>"评论",:id =>" 1",:controller =>"帖子"}在轨道上

时间:2014-03-28 21:57:23

标签: ruby-on-rails ruby

<%= form_tag :action => "comment" do %>     
  <%= text_area "comment", "body" %><br /> 
  <%= submit_tag "Comment" %> 
<% end %>

我收到了这个错误:

no route matches found  {:action=>"comment", :id=>"1", :controller=>"posts"

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

为了访问{:action=>"comment", :id=>"1", :controller=>"posts"}

的路线

routes.rb中,您需要指定一条路线,如下所示:

post "posts/:id/comment" => "posts#comment"

此外,您可以运行rake routes以检查应用程序的可用路径。

答案 1 :(得分:0)

您的问题并不十分清楚,但我猜您comment中有post_controller方法。并且您希望发布到该方法以创建新评论。

您的config/routes.rb

中会出现类似的情况
resources :posts

您需要将其更改为:

resources :posts do
  post 'comment', on: :member
end

关于路由如何工作的良好读物:http://guides.rubyonrails.org/routing.html