RoRの初心者の方は、事前にすべての支援をお願いします。私は次のようなモデルを作成しようとすると、自分自身を混乱させてしまいます。Rails:ネストされた属性とモデル?
私は3つのオブジェクトを持っています:ユーザー、組織、役割。ユーザーは1つ以上の組織に所属できますが、組織ごとに1つの役割しか持ちません。例:
Jon | Org1 |オーナー
Jon | Org2 |従業員
ボブ| Org1 |従業員
ボブ| Org2 |所有者
私はモデル(has_many、through =>?)をどのように設定するのですか?また、編集フォームがあるときに、ユーザー情報、組織とロールをすべて内部から更新できるようにします同じ形式ですか?注:それが適切かどうかはわかりませんが、私はオーナーだけが組織を編集できるようにするつもりです。
もう一度おねがいします!
EDIT以下 は、私が持っているもので、プラス私は今、受信エラー:
モデル/ user.rb
class User < ActiveRecord::Base
has_many :org_roles
has_many :orgs, :through => :org_roles
accepts_nested_attributes_for :orgs, :allow_destroy => true
has_one :user_detail
has_one :user_address
attr_accessible :orgs
end
モデル/ org.rb
class Org < ActiveRecord::Base
end
モデル/ role.rb
class Role < ActiveRecord::Base
end
モデル/ org_role.rb
class OrgRole < ActiveRecord::Base
belongs_to :user
belongs_to :org
belongs_to :role
validates_presence_of :user, :org, :role
validates_uniqueness_of :org_id, :scope => :user_id
end
ビュー/ edit.html.erb
#user form info above...
<%=f.fields_for :orgs do |ff| %>
<div>Your Organization Name:<br />
<%= ff.text_field :name%></div>
<% end %>
エラーメッセージ:解決しよう
Can't mass-assign protected attributes: orgs_attributes
:
追加:私にorgs_attributesユーザーモデル、attr_accessible
はありがとう:私はあなたがについて
accepts_nested_attributes_for
を読んだお勧めします編集フォームについてのご質問にはまた!私はそれを感謝します – user464180
私は自分のコードと私が受け取っているエラーを追加しました。あなたは時間があり、見直すことができたら、私は心から感謝します。再度、感謝します。 – user464180
私はそれを得た。ソリューションに向けた正しい道のりを手伝ってくれてありがとう。 – user464180