ruby - rails 4 多对多的控制器和视图怎么实现?
迷茫
迷茫 2017-04-21 11:16:02
0
1
709

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)到数据库?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(1)
小葫芦

Il y a des réponses à cette question dans de nombreux endroits. Si vous êtes bon en anglais, vous pouvez consulter ces Railscasts :

http://railscasts.com/episodes/196-nested-model-form-revised

Rails 4.0 prend toujours en charge les attributs imbriqués, une documentation spécifique peut être trouvée ici.

http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!