0

Rails 3の機能を使用してこれをクリーンアップするにはどうすればよいですか? グループとユーザーに属する投稿があります。グループとユーザーには has_many の投稿があります。ネストされたリソースを使用しています

resources :groups do
    resources :posts
end



<%= form_for @post, :url => group_posts_path(params[:group_id]) do |f| %>
....
<% end %>

 def create
   @group = Group.find(1)
   @post = @group.posts.build(params[:post])
   @post.user_id = current_user.id

   respond_to do |format|
      if @post.save
      .....
      end
   end
 end

ありがとうございました。

4

2 に答える 2

0

ビューで:

  <%= form_for [@group, @group.posts.build] do |f| %>
    ...
  <% end %>

コントローラーで:

  class PostsController < ApplicationController
    before_filter :find_group
    ...
    def create
      @post = @group.posts.build(params[:post])
      current_user.posts << @post
    end

    protected
    def find_group
      @group = Group.find(params[:group_id])
    end
  end
于 2012-06-18T12:15:10.183 に答える
0

accepts_nested_attributes_forモデルでメソッドを使用します。

ネストされたフォームに慣れていない場合は、この railscast2 番目の部分で詳細を確認してください。

于 2012-06-16T21:41:36.637 に答える