я следующие параметры передаются на мой ProfilesController#Update
:Как изменить «параметры», установленные в контроллере в действии?
> profile_params[:videos_attributes]
=> <ActionController::Parameters {"1479585381276"=><ActionController::Parameters {"vimeo_url"=>"https://www.youtube.com/watch?v=Qj2gkjh3-k", "official"=>"false", "_destroy"=>"false"} permitted: true>, "1479585385202"=><ActionController::Parameters {"vimeo_url"=>"https://vimeo.com/some-awesome-video", "official"=>"true", "_destroy"=>"false"} permitted: true>} permitted: true>
То, что я хочу сделать, это удалить хэш с ключом 1479585381276
(или любой хэш по этому вопросу)
Я попытался с помощью .delete(key)
и похоже, не работает.
> item
=> "1479585381276"
> profile_params[:videos_attributes].delete(item)
=> <ActionController::Parameters {"vimeo_url"=>"https://www.youtube.com/watch?v=Qas34Pce-k", "official"=>"false", "_destroy"=>"false"} permitted: true>
> profile_params[:videos_attributes]
=> <ActionController::Parameters {"1479585381276"=><ActionController::Parameters {"vimeo_url"=>"https://www.youtube.com/watch?v=Qas34Pce-k", "official"=>"false", "_destroy"=>"false"} permitted: true>, "1479585385202"=><ActionController::Parameters {"vimeo_url"=>"https://vimeo.com/some-awesome-video", "official"=>"true", "_destroy"=>"false"} permitted: true>} permitted: true>
Причина, почему я хочу сделать это, потому что, когда я оценить параметры, он все еще получает передается @profile.update(profile_params)
во второй половине моего Profiles#Update
и создает запись, я не хочу, чтобы это создать.
Так что все, что я хочу сделать, это успешная обработка, удалите его/поп его/удалите из хеша profile_params[:videos_attributes]
.
Это 100% на деньги. Спасибо большое Мэн! – marcamillion