Rails 关于 RailsCast 中关于 virtual attributes 的实现问题

runup · 2014年09月22日 · 最后由 runup 回复于 2014年09月22日 · 1481 次阅读

问题:按照 railscast 中 http://railscasts.com/episodes/16-virtual-attributes?language=zh&view=asciicast 中的步骤实现一个虚拟属性的问题,但是没有实现成功,出现的问题是数据没有能够存入数据库,求问原因,是否是版本的问题,我现在用的是 rails4.0

我的实现步骤如下: 1, rails new virtual 2, rails g scaffold Name first_name:string last_name:string 3、修改 view,添加 full_name 属性 4、修改 model,添加属性 full_name 的 set 和 get 方法。

基本按照视频的步骤来,但是出现的结果是数据不能成功存入数据库。

先了解什么是虚拟属性

#1 楼 @dddd1919 属性属性是数据库中不存在,但是需要用到的,我的理解是这样的。前辈能帮我看看出现了什么问题么?

#2 楼 @runup 如果不能存入数据库的是full_name,同 #1 楼 ,否则可能是 rails4 的 strong params 的问题

#3 楼 @dddd1919 好的,我试试在 strong params 中找解决方法。

#3 楼 @dddd1919 谢谢,已经解决,在 controller 文件中,将

params.require(:name).permit(:first_name, last_name)

改正为:

params.require(:name).permit(:full_name)
需要 登录 后方可回复, 如果你还没有账号请 注册新账号