2011-01-29 12 views
0

私は自分のタイトルがタングステントリスターだったので、何が起こっているのかを説明するために最善を尽くします。ネストされたモデルで、ネストされたモデルで、同じモデル上で多対多の関係を持つネストモデルフォーム... Rails 3

まず、モデルがあります。それを投稿することができます。

次に、私は本質的に2つの異なるポストをリンクする結合テーブルである第2のモデルを持っています。そのポスト接続と呼ぶことができます。

ここでの指示に従って、これを達成しました:Many-to-many relationship with the same model in rails?(単方向)、追加のフィールドがあります。 - と私は手動でレールの管理を使用したポスト接続を作成するとき、彼らは素晴らしい仕事

class PostConnection < ActiveRecord::Base 
    belongs_to :post_a, :class_name => :Post 
    belongs_to :post_b, :class_name => :Post 
end 

class Post < ActiveRecord::Base 
    has_many(:post_connections, :foreign_key => :post_a_id, :dependent => :destroy) 
    has_many(:reverse_post_connections, :class_name => :PostConnection, 
     :foreign_key => :post_b_id, :dependent => :destroy) 

    has_many :posts, :through => :post_connections, :source => :post_b 
    accepts_nested_attributes_for :post_connections 
end 

これは、これまで正常に動作します:

これらのモデルのためのコードは次のようになります。

今、問題は、ポスト接続がポストの下にネストされているフォームを作成したいのですか? http://railscasts.com/episodes/73-complex-forms-part-1

をしかし、たとえ最初のいくつかの手順は動作しませんでした:私はレールに従うことをしようとしてきた

をキャスト。私は間違いを起こさなかった。フィールドがどこに配置されるはずだったのでしょうか。 (それはとしなければならなかった場合、私は思ったんだけど:

3.times { @post.post_connections.build } 

をモデルに基づいて、私はこれについて行くべきであるより複雑な方法はありますか?

+2

'<%'に間違っていましたか? Rails 3では、 'form_form'と' fields_for'に '='を使う必要があります。 – Zabba

+0

ちょっとZabba、それだった!あなたはポイントを得ることができるように答えでそれで応答してください! :) – Elliot

答えて

1

あなたは= <%=でお見逃しでしたか? Rails 3では、form_formとfields_forに=を使用する必要があります。

:D

関連する問題