我想将模型名称传递给prams[:required_model],但它给了我转换错误请告诉我是如何工作的
def method obj
required_model = obj.class.model_name.human
params[:required_model] = required_model
model_values_attributes = params[:required_model][:model_values_attributes]
model_values_attributes.each do |key, value|
if value[:value].blank?
field_values_attributes.delete(key)
else
value[:company_id] = current_company.id
end
end
end
当我执行params[:property][:model_values_attributes]
时,这非常有效,所以我想将model_name传递给params[:ABC]中的任何内容
该错误意味着您正试图访问对象中的元素X,该对象使用符号而不是整数来响应[]
;
"hej"[2]
# => "j"
[1, 2, 3][0]
# => 1
[1, 2, 3][:foo]
# in `<main>': no implicit conversion of Symbol into Integer (TypeError)
因此,这行params[:required_model][:model_values_attributes]
可能会失败,因为required_model
是一个字符串(或数组(,而不是散列。或者仅仅因为没有实现向[]
传递符号。