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

但是在网页上提交的时候还是没有添加进去,如图:
图片描述

求大佬解答!!多谢

阅读 4.6k
1 个回答

应该是新添加的属性没有加入白名单。

Rails 里面有个特性叫 健壮参数 (http://guides.rubyonrails.org...),Active Model 无法直接使用 params 批量赋值,只有加入白名单的参数才会被 Active Model 读取。

你可以查看一下 UsersController 里面应该会有一个方法叫做 user_params,这个方法是把 params 里面的参数加入白名单,可以把 :phone 添加进去试试。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题