【发布时间】:2021-09-29 09:51:38
【问题描述】:
我有一个带有复选框的表单,这些复选框在表单提交时作为数组“list_person_ids”传递。我的模型是“Occurance”,它通过模型“Person”与“ListPerson”有 n:m 关系。 “list_person_ids”以 Occurance id 和 ListPerson id 保存在 Person 中。
我想在保存之前将一个或多个值附加到数组中。我需要这样做的原因是,用户还可以使用名称为“person_name”的文本框在 ListPerson 中添加新值。
def create
@occurance = Occurance.new(occurance_params)
add_person_id(@occurance)
...
# save
end
def add_person_id(object)
if params[:person_check] == '1'
object.list_person_ids.push( ListPerson.find_or_create_by(person: params[:person_name]).id )
end
end
def occurance_params
params.require(:occurance).permit(:person_check, :person_name, dim_person_ids: [])
end
find_or_create_by 成功,但没有任何东西被推送到数组“list_person_ids”。也没有错误信息。我是否必须在某处授予权限才能附加此数组?如果缺少某些信息,请告诉我。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-6