【问题标题】:Using migrations to add a column to a database table in Rails在 Rails 中使用迁移向数据库表中添加列
【发布时间】:2016-08-02 12:49:50
【问题描述】:

我在添加我输入的新列时遇到问题 rails g migration AddCustomToUser 并写道:

add_column :users, :first_name, :string
add_column :users, :last_name, :string
add_column :users, :address, :text
add_column :users, :DOB, :date
add_column :users, :gender, :string

并输入: 耙分贝:迁移

我去了注册页面,我做了

<div class="form-group">
    <%= f.label :first_name, class: 'col-sm-2 control-label'  %>
    <div class="col-sm-6">
        <%= f.text_field :first_name, autofocus: true, class: 'form-control'  %>
    </div>
</div>

<div class="form-group">
    <%= f.label :last_name, class: 'col-sm-2 control-label'  %>
    <div class="col-sm-6">
        <%= f.text_field :last_name, autofocus: true, class: 'form-control'  %>
    </div>
</div>

<div class="form-group">
    <%= f.label :username, class: 'col-sm-2 control-label'  %>
    <div class="col-sm-6">
        <%= f.text_field :username, autofocus: true, class: 'form-control'  %>
    </div>
</div>

它运行正常,但是当我去 rails c 时它显示我钉子 名字:无,姓:无,地址:无,出生日期:无,性别:无>

帮助

【问题讨论】:

  • 您是否尝试重新启动服务器?
  • 您应该发布完整的表格以及相关的控制器代码。您的数据似乎没有正确保存!
  • 是的,但还是一样

标签: ruby-on-rails database migration


【解决方案1】:

你必须通过强参数传递参数,然后尝试运行。
strong parameters
。您还需要检查控制器中的创建方法,但在此之前您应该先检查控制台,尝试插入值,然后检查它是否被保存。如果没有,则通过@variable.errors.full_messages 查找错误?它会告诉您错误。并且请记住,如果您对模型进行任何更改,因此在控制台中它只会在您重新加载时反映出来!

【讨论】:

  • 它有效,伙计我忘了将它们添加到registration_params
猜你喜欢
  • 2014-12-25
  • 2011-06-17
  • 2017-08-10
  • 1970-01-01
  • 2014-12-26
  • 2017-02-17
  • 2014-05-13
  • 2018-02-06
  • 2018-07-18
相关资源
最近更新 更多