ruby - Rails向数据库添加新字段没添加上

查看:128
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆