我无法将记录存储在数据库中,这是我的代码
表格参数
控制者
def create
@sales_dailystatus_info = SalesDailystatusInfo.new(sales_dailystatus_info_params)
@sales_dailystatus_info.user_id = current_user.id
@project = @sales_dailystatus_info.project
respond_to do |format|
if @sales_dailystatus_info.save
byebug
format.js{}
format.html{redirect_to dashboard_project_path(@project)}
else
format.js{}
format.html{render nothing: true}
end
end
end
def sales_dailystatus_info_params
params.require(:sales_dailystatus_info).permit(:user_id, :project_id, :sales_task_id,
:task_time, :description)
end
模型
class SalesDailystatusInfo < ActiveRecord::Base
belongs_to :project
belongs_to :user, optional: true
belongs_to :sales_task
validates :user_id, :sales_tasks_id, :task_time, presence: true
end
您可以在屏幕快照中看到保存时我回滚了。
请帮我。
编辑:
我进行了更改,现在迭代参数并删除强参数。以下是我的代码
def create
params[:sales_dailystatus_info].values.each do |sales_dailystatus_info|
@sales_dailystatus_info = SalesDailystatusInfo.create(
project_id: sales_dailystatus_info[:project_id],
sales_tasks_id: sales_dailystatus_info[:sales_task_id],
task_time: sales_dailystatus_info[:task_time],
description: sales_dailystatus_info[:description],
user_id: current_user.id
);
byebug
end
respond_to do |format|
format.js{}
format.html{render nothing: true}
end
end
仍然无法保存它。给我错误销售任务必须存在。
我通过更改字段名称解决了该问题。
我将sales_daily status_info中的字段sales_tasks_id更改为sales_task_id。
我需要一个单数的外键名称而不是复数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句