簡體   English   中英

幫助將嵌套路由轉換為Rails 3

[英]Help convert a nested route to Rails 3

我有一個評論表(在comments / _form.html.erb中),我在其他控制器(帖子和標簽)中使用。

<% form_for([@post, Comment.new], :html => { :multipart => true }) do |f| %>

    <%= f.text_field :commenter %>

    <%= f.text_field :email %>

    <%= f.text_area :body %>

    <%= f.submit 'submit' %>

<% end %>

在我的評論模型中,我有:

belongs_to  :post

在我的應用程序的rails 2版本中,我的routes.rb包括map.resources :posts, :has_many => :comments工作正常但Rails 3中的相同配置引發了未定義的方法錯誤:

undefined method `post_comments_path' for #<#<Class:0xf94920>:0xf8d540>

我認為Rails 2.x路線只是折舊,直到3.1出來。 我如何將其轉換為Rails 3? 感謝您閱讀我的問題。

在Rails 3中,您可以定義嵌套路由:

resources :posts do
  resources :comments
end

我想你可能還需要以不同的方式定義form_for:

<%= form_for [:post, @comment] do |f| %>

希望有所幫助! 有關Rails 3中路由的更多信息,請查看http://rizwanreza.com/2009/12/20/revamped-routes-in-rails-3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM