ruby-on-rails – 使用Active Admin创建Rails 3 HABTM会抛出’无
发布时间:2020-12-17 03:30:30 所属栏目:百科 来源:网络整理
导读:我是一个铁杆菜鸟,所以下面可能是缺乏理解,但我一直在寻找/阅读整天,似乎无法找到解决方案. 我有两个模型 – 项目和技术: 项目: class Project ActiveRecord::Base attr_accessible description,:name has_and_belongs_to_many :technologies,:join_table
我是一个铁杆菜鸟,所以下面可能是缺乏理解,但我一直在寻找/阅读整天,似乎无法找到解决方案.
我有两个模型 – 项目和技术: 项目: class Project < ActiveRecord::Base attr_accessible description,:name has_and_belongs_to_many :technologies,:join_table => :projects_technologies end 技术: class Technology < ActiveRecord::Base attr_accessible :abbr,:description,:name has_and_belongs_to_many :projects,:join_table => :projects_technologies end 我的Create_Projects_Technologies迁移如下: class CreateProjectsTechnologies < ActiveRecord::Migration def self.up create_table :projects_technologies,:id => false do |t| t.references :project t.references :technology end add_index :projects_technologies,[:project_id,:technology_id] add_index :projects_technologies,[:technology_id,:project_id] end def self.down drop_table :projects_technologies end end 然后,我使用Active Admin使用以下格式创建和编辑项目模型: ActiveAdmin.register Project do form do |f| f.inputs "Project attributes" do f.input :name f.input :description f.input :technologies,as: :check_boxes end f.buttons end end 这正确地将我的所有技术显示为复选框,但是一旦我提交表单,我就会遇到以下错误,我无法克服: ActiveModel :: MassAssignmentSecurity :: Admin :: ProjectsController#update中的错误 Can't mass-assign protected attributes: technology_ids 所有的帮助非常感谢:D 解决方法
简单地将technology_id添加到Project attr_accessible
attr_accessible :client,:name,:technology_ids (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |