ruby - Rails向数据库添加新字段没添加上
本文介绍了ruby - Rails向数据库添加新字段没添加上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
刚接触Rails,按照headfirst上的教程,向一个已经创建好的数据库中添加新的字段phone,但是好像没有添加进去,代码如下:
rails generate migration AddPhoneToTickets phone:string
并使用迁移:
rake db:migrate
项目下的db下的migrate下的文件也变了:
class AddPhoneToTickets < ActiveRecord::Migration[5.1]
def change
add_column :tickets, :phone, :string
end
end
但是在网页上提交的时候还是没有添加进去,如图:
求大佬解答!!多谢
解决方案
应该是新添加的属性没有加入白名单。
Rails 里面有个特性叫 健壮参数 (http://guides.rubyonrails.org...),Active Model 无法直接使用 params 批量赋值,只有加入白名单的参数才会被 Active Model 读取。
你可以查看一下 UsersController 里面应该会有一个方法叫做 user_params,这个方法是把 params 里面的参数加入白名单,可以把 :phone 添加进去试试。
这篇关于ruby - Rails向数据库添加新字段没添加上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文