作爲RoR新手,我非常感謝任何/所有的援助提前!試圖創建以下需要的模型時,我很困惑自己。Rails:嵌套的屬性和模型?
我有3個對象:用戶,組織和角色。用戶可以屬於一個或多個組織,但每個組織只有1個角色。例如:
Jon | Org1 |所有者
Jon | Org2 |員工
Bob | Org1 |員工
Bob | Org2 |所有者
我該如何在我的模型中設置它(has_many,through =>?),並且當我有編輯表單時,我可以從內部更新用戶信息,組織和角色相同的形式?注意:不確定它是否恰當,但我只打算讓所有者編輯其組織。
再次感謝!
編輯 下面是我的本錢,再加上一個錯誤我現在得到:
型號/ 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
models/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
謝謝!我很感激 – user464180 2012-02-27 03:45:08
我添加了我的代碼和我收到的錯誤。如果你有時間並且可以評論,我會誠摯地感謝。再次感謝。 – user464180 2012-02-27 13:34:02
我明白了。感謝您幫助我找到解決方案的正確途徑。 – user464180 2012-02-27 14:09:33