我有一个Products类,产品对零个或多个角色可见。所以我创建了一个称为content_roles的多态模型,它存储角色id和content_id(它将是product_id或event_id)以及content_type(产品,事件等)。接受nested_form中复选框的数据并使用复选框中的数据创建记录
我使用nested_form创业板接受角色ID(使用check_box)存储在content_role
产品和角色关系,我所面临的问题是我不能够创造出content_role纪录。在我的日志我得到未经许可参数:ROLE_ID
在我看来参数:{ “UTF8”=> “✓”, “authenticity_token”=> “xxxxxxxxxxxxxxxxxxxxdLH99ZWLrf8dgT3gcBops =”, “产品”=> { “PRODUCT_NAME”=>“一些产品“,”product_description“=>”某些产品说明“,”content_roles_attributes“=> {”role_id“=> [”1“,”2“,”“]}},”commit“=>”创建产品“}}
我已经写
= f.simple_fields_for :content_roles_attributes do |role|
= role.input :role_id,label: "visible to", as: :check_boxes,label: "Role",collection: Role.all,:required=>true
控制器允许PARAMS看起来像
def product_params
params.require(:product).permit(:product_description,:product_name,
content_roles_attributes: [:role_id,:id],
multimedia_attributes:[:asset,:_destroy,:id])
end
产品型号看起来像
class Product
has_many :content_roles, as: :content
has_many :multimedia ,as: :storable
# Nested attributes
accepts_nested_attributes_for :multimedia
accepts_nested_attributes_for :content_roles
end
,这是content_role模型
的建议我尝试设置ROLE_ID到一个数组,它给了我一个TypeError(没有隐式的转化将字符串转换为整数)。任何建议如何解决? – level0 2014-10-07 18:36:29
@Adil - 这是另一个问题,您需要用一个确切的错误信息和一个回溯和相关代码来更新当前的问题(最有可能是控制器操作) – BroiSatse 2014-10-07 18:40:14