Я успешно получил CSV-файлы, которые будут импортированы в соответствии с шагами, описанными в эпизоде Railscast 396. Однако теперь я пытаюсь импортировать csv, который является вложенным. Я видел другие сообщения, в которых люди пытаются импортировать родительские и дочерние данные, но в этом случае я пытаюсь импортировать дочерние данные только в представление представления econ_report.Rails - импортировать файл csv во вложенный маршрут
Например, у меня есть econ_results, который я пытаюсь импортировать, который вложен в econ_report. В файле рейка отображается следующая ссылка.
import_econ_report_econ_results
При попытке загрузить страницу шоу для econ_report я получаю следующую ошибку
No route matches {:action=>"import", :controller=>"econ_results", :id=>"1"} missing required keys: [:econ_report_id]
У меня есть следующий код в файле econ_result.rd:
def self.to_csv
CSV.generate do |csv|
csv << column_names
all.each do |sub|
csv << sub.attributes.values_at(*column_names)
end
end
end
def self.import(file)
CSV.foreach(file.path,headers: true) do |row|
EconResult.create! row.to_hash
end
end
Наконец , в econ_results_controller у меня есть следующий код:
before_action :set_econ_report
def set_econ_report
@econ_report = EconReport.find(params[:econ_report_id])
end
def import
EconResult.import(params[:file])
end
def create
@econ_result = @econ_report.econ_results.create(econ_result_params)
redirect_to @econ_report
end
Является ли обозначение @econ_report причиной конфликта в контроллере?
Это сделало Max! Благодаря! –