在rails迁移后无法将数据添加到新列

时间:2014-10-13 01:04:12

标签: ruby-on-rails

我是rails的新手,并尝试在现有模型中添加一列。我在终端中运行rails migration命令以生成以下迁移代码

class AddPlatformToApps < ActiveRecord::Migration
  def change
    add_column :apps, :platform, :string
  end
end

我运行

rake db:migrate
,该字段已添加到我的数据库中。

我更新了将使用新字段的每个视图。如果我手动将值添加到数据库中,我可以看到数据应用程序。但是,如果我尝试通过应用程序添加或编辑现有表单数据,则不会保存新的列数据。

保存前

enter image description here

保存后

enter image description here

App Params(已更新)

def app_params
    params.require(:app).permit(:name, :desc, :in_house)
end

1 个答案:

答案 0 :(得分:2)

您的参数正被强大的参数过滤。所以改变......

def app_params
    params.require(:app).permit(:name, :desc, :in_house)
end

为...

def app_params
    params.require(:app).permit(:name, :desc, :in_house, :platform)
end

然后您的参数将允许您传递属性platform以进行质量分配。