0

我需要一些帮助。我在 rails4.0.0 做一个小功能。我有名为 user 的模型和另一个模型团队,我有另一个模型 Assign 。现在在分配模型中,我有两个选择框,我可以使用表单从两个模型中获取用户名和团队名称

<%=  collection_select(:team, :team_id , Team.all, :id, :name, options ={:prompt => "-Select a user"}) %>

现在我需要从这个选择框中获取选定的值并在提交表单时存储在分配表中。我不知道如何从控制器获取这个选定的值?

class User < ActiveRecord::Base
    belongs_to :team
end


class Team < ActiveRecord::Base
  validates :name, :presence => true, :uniqueness => true
   has_many :users
end


class Assign < ActiveRecord::Base
   belongs_to :team
   belongs_to :user
end
4

1 回答 1

0

您的对象名称是:assign,而不是:team。

collection_select(:assign, :team_id , Team.all, :id, :name, options ={:prompt => "-Select a user"})

这应该为这些框创建正确的名称,因此它们将成为 params[:assign] 的一部分。如果您正在使用form_for @assign do |f|,最好使用:

f.collection_select(:team_id , Team.all, :id, :name, options ={:prompt => "-Select a user"})

因为这应该会自动选择正确的选项。

于 2013-09-06T12:52:59.717 回答