Ruby on rails RubyonRails 5强参数
我在做一个项目,遇到了一些麻烦。请注意,我认为我自己是初学者/新手,尽管如此: 为了保持简洁,我使用Rails和activeadmin构建了一个管理界面,在这里我可以对我的数据库模型执行CRUD操作,这一切都很好。然而,我最近决定在我的一个模型中添加另一个字段“description”字段,因此生成了一个迁移,运行Ruby on rails RubyonRails 5强参数,ruby-on-rails,ruby,parameters,Ruby On Rails,Ruby,Parameters,我在做一个项目,遇到了一些麻烦。请注意,我认为我自己是初学者/新手,尽管如此: 为了保持简洁,我使用Rails和activeadmin构建了一个管理界面,在这里我可以对我的数据库模型执行CRUD操作,这一切都很好。然而,我最近决定在我的一个模型中添加另一个字段“description”字段,因此生成了一个迁移,运行rake db:migrate,并更新了我的控制器和活动管理资源中允许的参数列表 我的问题是这个新的“描述”字段没有保存数据-无论是通过创建新条目还是更新现有条目。我可以看到终端中的输
rake db:migrate
,并更新了我的控制器和活动管理资源中允许的参数列表
我的问题是这个新的“描述”字段没有保存数据-无论是通过创建新条目还是更新现有条目。我可以看到终端中的输出确认它被强参数过滤掉;返回Unpermitted parameter::Description
,但是我感觉我已经正确设置了强参数,因此我不确定我是否正确设置了许可参数,或者我还能做些什么
使用Rails 5.1.0&将在下面发布代码
class CellsController < InheritedResources::Base
def index
end
private
def cell_params
params.require(:cell).permit(:name, :description)
end
end
#database schema for my cell model
create_table "cells", force: :cascade do |t|
t.string "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.text "Description"
end
#Active Admin resource
ActiveAdmin.register Cell do
permit_params :name, :description
end
class CellsController
再次感谢您的帮助,因为我确信我忽略了一些东西,很高兴提供所需的任何其他信息:)
谢谢 在我看来,
说明
参数似乎不被接受,因为模型只有一个说明
列(带有大写的D
)。要解决此问题,请将每个params.permit(:description)
更改为params.permit(:description)
,或者在新迁移中重命名列:
def change
rename_column :cells, :Description, :description
end
我建议重命名该列,因为这样可以避免将来出现与该列相关的任何问题。在我看来,
说明
参数不被接受,因为该模型只有一个说明
列(带有大写的D
)。要解决此问题,请将每个params.permit(:description)
更改为params.permit(:description)
,或者在新迁移中重命名列:
def change
rename_column :cells, :Description, :description
end
我建议重命名该列,因为这样可以避免将来该列出现任何问题。是的,绝对建议所有字段名称使用小写字母,以避免将来出现问题和混淆。谢谢!!完全修复了:)我还是个新手,有时会遇到一些命名/大写的问题,我真的很感谢你的帮助:)是的,绝对建议所有字段名都使用小写,以避免将来的麻烦和混乱。谢谢!!完美地修复了这一切:)我还是一个新手,有时会遇到一些命名/资本化方面的问题,我真的很感谢你的帮助:)