有许多通过复选框不保存值Rails3

我在我的数据库中建立了一个has_many through关系并更改了密钥,因为我正在使用遗留数据库。

这一切似乎都有效,但我无法获得保存到数据库的复选框。

我的模型如下:

class Radcheck  :destroy, :primary_key => :username, :foreign_key => :groupname has_many :radgroupcheck, :through => :radusergroup end class Radgroupcheck  :destroy#, :primary_key => :groupname, :foreign_key => :username has_many :radcheck, :through => :radusergroup end class Radusergroup  'groupname', :primary_key => 'username' belongs_to :radgroupcheck, :foreign_key => 'username', :primary_key => 'groupname' end 

以我的forms,我有这个:

   'radcheck[groupname][]' -%> |   

表单呈现复选框确定,我可以看到组名,但是当我点击保存时没有任何反应。

开发日志很清楚,我也无法在mysql查询日志中看到任何内容。

尝试在表单中使用:

 <% Radgroupcheck.all.each do |group| -%> <%= check_box_tag "radcheck[radgroupcheck_ids][]", radgroupcheck.id, @radcheck.radgroupchecks.include?(radgroupcheck), :id => "radcheck_radgroupcheck_id_#{radgroupcheck.id}" -%> <%= label_tag "radcheck[radgroupcheck_ids][]", radgroupcheck.name, :for => "radcheck_radgroupcheck_id_#{radgroupcheck.id}" -%> <% end %> 

在你的控制器中:

 def create params[:radcheck][:radgroupcheck_ids] ||= [] @radcheck = Radcheck.new(params[:radcheck]) # rest of your controller logic end 

这是根据http://railscasts.com/episodes/17-habtm-checkboxes?view=asciicast在Rails 3.1项目中对我有用的内容改编而来的。