2010-08-22 8 views
1

У меня есть форма комментария (в комментариях/_form.html.erb), которую я использую в других моих контроллерах (сообщениях и тегах).Помогите преобразовать вложенный маршрут в Rails 3

<% 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 

В рельсах 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? Спасибо, что прочитал мой вопрос.

ответ

4

В Rails 3, вы можете определить вложенные маршруты, например:

resources :posts do 
    resources :comments 
end 

Я думаю, что вам может понадобиться определить form_for немного по-другому:

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

Надежда, что помогает! Зайдите в http://rizwanreza.com/2009/12/20/revamped-routes-in-rails-3 для получения дополнительной информации о маршрутизации в Rails 3.

 Смежные вопросы

  • Нет связанных вопросов^_^