Collection_select如何获取所选值并保存在Rails中

时间:2013-09-06 11:07:44

标签: ruby-on-rails sqlite

我想要一些帮助。我在rails4.0.0中做了一个小功能。我有模型名为user和另一个模型团队,我有另一个模型分配。现在在分配模型中,我有两个选择框,我可以使用

从表格中获取两个模型的用户名和团队名
<%=  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

1 个答案:

答案 0 :(得分:0)

您的对象名称是:assign,not: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"})

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