私は自分のタイトルがタングステントリスターだったので、何が起こっているのかを説明するために最善を尽くします。ネストされたモデルで、ネストされたモデルで、同じモデル上で多対多の関係を持つネストモデルフォーム... 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 }
)
をモデルに基づいて、私はこれについて行くべきであるより複雑な方法はありますか?
'<%'に間違っていましたか? Rails 3では、 'form_form'と' fields_for'に '='を使う必要があります。 – Zabba
ちょっとZabba、それだった!あなたはポイントを得ることができるように答えでそれで応答してください! :) – Elliot