У меня проблема с сохранением данных из запроса, который был отправлен из нескольких форм в одном представлении. Один из них сохранен, но я не могу получить остальные данные для сохранения во второй модели. Модель Soil имеет ссылки от Иова.
Я прочитал много уроков по сохранению данных из нескольких моделей, но не могу найти решение для этого. Я новичок в программировании на ruby на рельсах.
def create
@job = Job.new(job_params)
if @job.save
@soil = @job.soils.new()
@soil.save
flash[:notice] = 'Added'
redirect_to @job
end
end
private
def job_params
params.require(:job).permit(:name, :samples, :duedate, :soil_attributes => %i[shelf count_samples initials])
end
{"utf8"=>"✓",
"authenticity_token"=>"WRhC3Dffq290lK5u2tnITJWT244ZLlwoAnm/T1tWdw3/UbUUpIOuB0ziclkuMFnIZ8KWZllFZlQrBP/quyb33g==",
"job"=>{"soil"=>{"initials"=>"AWO", "shelf"=>"A3", "count_samples"=>"4"}, "name"=>"19-35123", "samples"=>"4", "duedate"=>"2019-05-21"},
"button"=>""}
Модель работы
class Job < ApplicationRecord
has_many :soils
before_save :default_value
validates_presence_of :name, :samples, :duedate
accepts_nested_attributes_for :soils
private
def default_value
self.archived ||= false
end
end
class Soil < ApplicationRecord
belongs_to :job
end