Rails 4 + Сильные параметры: как разрешить все?

Из-за сложности отношений моей модели и гибкости моей формы я требую, чтобы сильные параметры принимали все ключи для params[:variants].

Я использую гем-кокон для вложенных форм, и он генерирует случайную строку цифр для каждой новой записи, например:

>> params[:variants]
=> {"1401200245834"=>{"size"=>"M", "price"=>"0.00", "measurements"=>"", "sku"=>""}}

1401200245834 является случайным, поэтому я не могу вставить его в свои разрешенные параметры. Как я могу разрешить все, что находится под ключом :variants в моем хэше параметров?


person bigpotato    schedule 27.05.2014    source источник
comment
Не уверен, так что просто комментарий: попробуйте добавить метод разрешения в конце, например: разрешение! И я думаю, что это не рекомендуется.   -  person AME    schedule 27.05.2014
comment
stackoverflow.com/questions/14483963/ Проверьте этот вопрос.   -  person AME    schedule 27.05.2014


Ответы (1)


Я думаю, что этот абзац из документов актуален:

Чтобы внести в белый список весь хэш параметров, можно использовать метод permit!:

params.require(:variants).permit!

Это пометит хэш параметров :variants и любой его подхеш как разрешенный. Будьте предельно осторожны при использовании разрешения! поскольку это позволит массово назначать все текущие и будущие атрибуты модели.

person zwippie    schedule 27.05.2014