Rails 4 表单数据保存为 Nil
Posted
技术标签:
【中文标题】Rails 4 表单数据保存为 Nil【英文标题】:Rails 4 Form Data Is Saving as Nil 【发布时间】:2013-05-25 10:55:39 【问题描述】:由于某种原因,当我传入表单数据时,它会以 nil 形式保存到数据库中。我正在使用 rails 4 并且正在使用强大的参数,根据服务器,一切看起来都很好,但最终它最终保存为 nil。非常感谢所有帮助,我是 Rails 新手,这让我很困惑。我目前也没有在模型中进行任何验证以使其正常工作。
控制器代码
定义创建 @movie = Movie.new(params[movie_params]) 如果@movie.save 重定向到@电影 别的 flash[:error] = "没有保存" 渲染“新” 结尾 结尾私人的 def 电影参数 params.require(:movie).permit(:title, :rating) 结尾
表单代码【问题讨论】:
【参考方案1】:变化:
@movie = Movie.new(params[movie_params])
收件人:
@movie = Movie.new(movie_params)
movie_params
已经是params
的子集,因此没有理由再次将其传递回params
- 这样做会导致缺少键查找(如您发现的那样返回nil
) .
【讨论】:
以上是关于Rails 4 表单数据保存为 Nil的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 ruby on rails 中创建嵌套资源时,“表单中的第一个参数不能包含 nil 或为空”
提交表单时,不会保存对 Rails 输入标记的 javascript 更改