У меня проблема при редактировании вложенной модели. Когда я выполню приведенный ниже код, создайте еще одну запись в моей таблице WeeklySchedule.Редактировать вложенные атрибуты
Пример: Я хочу заменить 9-10 в понедельник.
WeeklySchedule стол:
Перед редактирования:
weekly_schedule_id: 1 monday: 9
После редактирования:
weekly_schedule_id: 1 monday: 9
weekly_schedule_id: 2 monday: 10
Код:
Модели:
class Installation < ActiveRecord::Base
accepts_nested_attributes_for :weekly_schedule
belongs_to :weekly_schedule
end
class WeeklySchedule < ActiveRecord::Base
has_one :installation
end
Форма:
<%= simple_form_for @installation, class: 'form-horizontal' do |f| %>
<%= f.simple_fields_for :weekly_schedule do |w| %>
<%= w.time_field :monday %>
<% end %>
<% end %>
Контроллер:
def update
@installation.update(installation_params)
(...)
end
def edit
@installation = current_user.installations.find_by(:installation_id => params[:id])
end
installation_params:
{"x"=>"20",
"y"=>"21",
"weekly_schedule_attributes"=>{"monday"=>"10"}}
Что я делаю неправильно?
Можете ли вы показать весь свой метод обновления в контроллере –
Также 'installation_params' метод – Vasfed
также показать свой' метод edit' от контроллера. (Я предполагаю, что вы попали в эту форму, нажав кнопку «Изменить» и проложив путь по методу 'edit'.) – lurker