Ruby on rails ROR+;未能在数据库中存储数据(TypeError异常:没有将nil隐式转换为字符串)
在我的Rails 4.1应用程序中,我试图存储参数,但遇到了奇怪的错误。可能是我遗漏了一些补充 错误:Ruby on rails ROR+;未能在数据库中存储数据(TypeError异常:没有将nil隐式转换为字符串),ruby-on-rails,ruby,ruby-on-rails-4.1,Ruby On Rails,Ruby,Ruby On Rails 4.1,在我的Rails 4.1应用程序中,我试图存储参数,但遇到了奇怪的错误。可能是我遗漏了一些补充 错误:TypeError异常:没有将nil隐式转换为字符串 参数: {"utf8"=>"✓", "authenticity_token"=>"G9RGcjKJ/1Eb1NHe5P5bDtT96iC0tUgFdssE=", "monthly_timing"=> {"month_year"=>"201503", "month_date"=>
TypeError异常:没有将nil隐式转换为字符串
参数:
{"utf8"=>"✓",
"authenticity_token"=>"G9RGcjKJ/1Eb1NHe5P5bDtT96iC0tUgFdssE=",
"monthly_timing"=>
{"month_year"=>"201503",
"month_date"=>{"2"=>"1", "3"=>"3", "4"=>"34"}
},
"commit"=>"Store"}
控制器:
input_params = ActionController::Parameters.new(params)
@monthly_timing = MonthlyTiming.new
@monthly_timing.user_id = current_user.id
@monthly_timing.month = input_params.require(:month_year)
@monthly_timing.data_date_wise = input_params.require(:month_date)
if @monthly_timing.save
format.html { redirect_to "/Index", notice: 'Timing was successfully created.' }
else
format.html { redirect_to "/Error", notice: 'EROROROOROROROROR.' }
end
参数中没有月\年作为一级元素。参数[:月\年]也许 一般来说,公约会说:
class MonthlyTimingsController < ApplicationController
before_action :set_monthly_timing, only: [:show, :edit, :update, :destroy]
...
def update
if @monthly_timing.update(monthly_timing_params)
# what after a save?
else
render :edit
end
end
def set_monthly_timing
@monthly_timing = MonthlyTiming.find(params[:id])
end
def monthly_timing_params
params.require(:monthly_timing).permit(:month_year, :month_date)
end
end
class monthlymingscontroller
生成此错误的行是什么?发布堆栈跟踪。ActionController::ParameterMissing(param丢失或值为空:month\u year):可能是我在做一些错误的编码,请建议一些代码片段+1以节省我的时间。参数要求(:每月时间)。许可证(:月年,:月日)是我缺少的主要东西。非常感谢