我的courses_controller
def create
@course = Course.new(postparam)
if @course.save
flash[:notice] = t('course_created')
redirect_to courses_path
else
render 'new'
end
end
def postparam
params.require(:course).permit(:course_name, :section_name, :code, :grading_type, batches_attributes: [:name, :start_date, :end_date])
end
我收到错误信息:
CoursesController中的ArgumentError #create参数超出范围
答案 0 :(得分:0)
这是因为您未正确转换控制器中的start_date
和end_date
。您首先需要处理start_date
和end_date
,并制作一个Date
对象,您可以通过save
实际传递到params
方法。
现在,您的start_date
将由三部分组成:
您实际上可以执行以下操作来获取日期对象:
Date.civil(start_date(1i), start_date(2i), start_date(3i))
有关详细信息,您可以在Rails官方指南中搜索相关主题。