Когда я пытаюсь отредактировать значение столбца одной записи, которая связана с родительской записью (например, у Джобса много заданий), каждая запись перезаписывается вместо одной этой записи.
Например: у работы много рабочих мест. Я хочу иметь возможность редактировать title
одного задания. когда я сохраняю запись, она работает, но все остальные детали, принадлежащие этой работе, теперь имеют одинаковые названия. Создание новых записей работает без проблем, только редактирование создает проблемы.
Модель
Работа has_many :jobdetails
Jobdetail belongs_to :job
Маршруты
resources :jobs do
resources :jobdetails
end
Jobdetails_controller.rb
def edit
@job = Job.find(params[:job_id])
@jobdetail = Jobdetail.find(params[:id])
end
def update
@job = Job.find(params[:job_id])
@jobdetail.update(jobdetail_params)
respond_to do |format|
if @job.jobdetails.update(jobdetail_params)
format.html { redirect_to job_jobdetail_path(@job, @jobdetail), notice: 'Jobdetail was successfully updated.' }
else
format.html { render :edit }
format.json { render json: @jobdetail.errors, status: :unprocessable_entity }
end
end
end
def set_jobdetail
@job = Job.find(params[:job_id])
@jobdetail = Jobdetail.find(params[:id])
end
Я думаю, что дублированный синтаксис в set_jobdetail и в действии редактирования не требуется.
Я пробовал несколько разных синтаксисов, но все они не будут работать. заранее спасибо!