ruby-on-rails - 有许多通过复选框不保存值 Rails3

标签 ruby-on-rails ruby ruby-on-rails-3

我已经在我的数据库中设置了一个 has_many through 关系并更改了 key ,因为我正在使用旧版数据库。

一切似乎都正常,但我无法将复选框保存到数据库中。

我的模型如下:

class Radcheck < ActiveRecord::Base
  set_table_name 'radcheck'
  attr_accessible :attribute_name, :username, :value, :op, :groupname
  belongs_to :raduser

  has_many :radusergroup, :dependent => :destroy, :primary_key => :username, :foreign_key => :groupname
  has_many :radgroupcheck, :through => :radusergroup
end


class Radgroupcheck < ActiveRecord::Base
  set_table_name 'radgroupcheck'
  has_many :radusergroup, :dependent => :destroy#, :primary_key => :groupname, :foreign_key => :username
  has_many :radcheck, :through => :radusergroup
end


class Radusergroup < ActiveRecord::Base
  belongs_to :radcheck, :foreign_key => 'groupname', :primary_key => 'username'
  belongs_to :radgroupcheck, :foreign_key => 'username', :primary_key => 'groupname'
end

在我的表格中,我有这个:

<% Radgroupcheck.all.each do |group| -%>
  <%= check_box_tag :groupnames, group.id, @radcheck.radgroupcheck.include?(group), :username => 'radcheck[groupname][]' -%> | <%= label_tag :groupnames, group.groupname -%>
<% end -%>

表单可以正常显示复选框,我可以看到组名,但是当我点击保存时没有任何反应。

开发日志清晰,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 %>

在你的 Controller 中:

def create
  params[:radcheck][:radgroupcheck_ids] ||= []
  @radcheck = Radcheck.new(params[:radcheck])

  # rest of your controller logic
end

这改编 self 在 Rails 3.1 项目中的工作,基于 http://railscasts.com/episodes/17-habtm-checkboxes?view=asciicast

关于ruby-on-rails - 有许多通过复选框不保存值 Rails3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8278698/

相关文章:

ruby-on-rails - 否定包含期望的自定义​​ RSpec 匹配器

ruby-on-rails - 解析 'ul' 和 'ol' 标签

ruby-on-rails-3 - Rails 3 - 嵌套模型 - has_many - jquery 文件上传

ruby-on-rails - 为 V8 Rails 安装 Nodejs 以减少使用

ruby-on-rails - 使用devise:omniauthable设置多个提供程序

ruby-on-rails - Rails 关联 new_path 错误

ruby-on-rails - rails, accepts_nested_attributes_for 示例

ruby - 在属性哈希中转义 HAML

ruby - 使用 ri 或 fastri for ruby​​ 查找类/方法的源文件

ruby-on-rails - Gmaps4Rails 自定义信息窗口