Ruby on rails 表单提交到不同的控制器-路由
我认为:Ruby on rails 表单提交到不同的控制器-路由,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我认为: <%= form_for @comment, :as => :post, :url => user_ticket_message_comments_path, :html => { :class => "add-comment", :id => "add-comment-" + @ticket.id.to_s } do |f| %> <%= f.label :body, "Add comment" %> <%= f.t
<%= form_for @comment, :as => :post, :url => user_ticket_message_comments_path, :html => { :class => "add-comment", :id => "add-comment-" + @ticket.id.to_s } do |f| %>
<%= f.label :body, "Add comment" %>
<%= f.text_area :body %>
<%= f.submit "Add comment" %>
<% end %>
我得到一个路由错误:
没有路由匹配{:controller=>“comments”}
看起来您缺少用户、票证和消息:
user_ticket_message_comments_path(@user, @ticket, @message)
您需要这些参数,因为生成的URL如下所示:
/users/:user_id/tickets/:ticket_id/messages/:message_id/comments
resources :users do
resources :tickets
end
resources :tickets do
resources :messages
end
resources :messages do
resources :comments
end
如果没有参数,Rails就不知道如何生成该URL
也认为Rails应用程序的经验法则是
Jamis Buck建议不要随意嵌套资源,而只使用一个嵌套级别,如下所示:/users/:user_id/tickets/:ticket_id/messages/:message_id/comments
resources :users do
resources :tickets
end
resources :tickets do
resources :messages
end
resources :messages do
resources :comments
end
您似乎缺少用户、票证和消息:
user_ticket_message_comments_path(@user, @ticket, @message)
您需要这些参数,因为生成的URL如下所示:
/users/:user_id/tickets/:ticket_id/messages/:message_id/comments
resources :users do
resources :tickets
end
resources :tickets do
resources :messages
end
resources :messages do
resources :comments
end
如果没有参数,Rails就不知道如何生成该URL
也认为Rails应用程序的经验法则是
Jamis Buck建议不要随意嵌套资源,而只使用一个嵌套级别,如下所示:/users/:user_id/tickets/:ticket_id/messages/:message_id/comments
resources :users do
resources :tickets
end
resources :tickets do
resources :messages
end
resources :messages do
resources :comments
end
我如何反映这一路线?我觉得这很直观(用户有带有消息和评论的票证)@rabid_zombie看到变化了吗answer@psyho所以我知道URL像这样短得多,但是如果我想反映来自用户票证的消息的评论呢?e、 g.user/:username/message/:message\u id/comment/:comment\u id我觉得嵌套它以获得更直观的路由。你怎么看?我该如何反映这条路线?我觉得这很直观(用户有带有消息和评论的票证)@rabid_zombie看到变化了吗answer@psyho所以我知道URL像这样短得多,但是如果我想反映来自用户票证的消息的评论呢?e、 g.user/:username/message/:message\u id/comment/:comment\u id我觉得嵌套它以获得更直观的路由。你怎么认为?