Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 表单提交到不同的控制器-路由_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

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我觉得嵌套它以获得更直观的路由。你怎么认为?