我是rails的新手,并尝试在现有模型中添加一列。我在终端中运行rails migration命令以生成以下迁移代码
class AddPlatformToApps < ActiveRecord::Migration
def change
add_column :apps, :platform, :string
end
end
我运行
rake db:migrate,该字段已添加到我的数据库中。
我更新了将使用新字段的每个视图。如果我手动将值添加到数据库中,我可以看到数据应用程序。但是,如果我尝试通过应用程序添加或编辑现有表单数据,则不会保存新的列数据。
保存前
保存后
App Params(已更新)
def app_params
params.require(:app).permit(:name, :desc, :in_house)
end
答案 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
以进行质量分配。