Model:
app/models/group.rb
class Group < ActiveRecord::Base
has_many :group_members
has_many :members, :through => :group_members
end
app/models/member.rb
class Member < ActiveRecord::Base
has_many :group_members
has_many :groups, :through => :group_members
end
app/models/group_members.rb
class GroupMember < ActiveRecord::Base
belongs_to :group
belongs_to :member
end
View:
app/views/groups/new.html.erb
<p class="control-group">
<%= f.label :name, :class => "control-label" %>
<p class="controls">
<%= f.text_field :name, :class => "input-xxlarge" %>
</p>
</p>
"control-label" %>
Controller:
app/controller/groups_controller.rb
def new
@group = Group.new
end
def edit
@group = Group.find(params[:id])
end
def create
# How to do?
end
def update
# How to do?
end
最后在控制器中怎么保存多个成员(members)到数据库?
高洛峰2017-04-21 11:18:02
これに対する答えは多くの場所にあります。英語が得意な場合は、この Railscasts をチェックしてください。
http://railscasts.com/episodes/196-nested-model-form-revizedRails 4.0 は引き続きネストされた属性をサポートしています。詳細なドキュメントはここにあります。
http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html