请帮助解决问题。我安装了devise和activeadmin宝石。我向用户模型添加字段'superadmin'。在我通过控制台创建用户实例之后。
schema.rb:
create_table "users", force: :cascade do |t|
t.string "email", default: "", null: false
.......
...........
....
t.datetime "created_at"
t.datetime "updated_at"
t.boolean "superadmin"
end
我添加到app / admin / user.rb后跟随:
ActiveAdmin.register User do
permit_params :email, :password, :password_confirmation
index do
selectable_column
.....
column :created_at
column :superadmin
actions
end
form do |f|
f.inputs "Admin Details" do
f.input :superadmin
f.input :email
f.input :password
f.input :password_confirmation
end
f.actions
end
end
我尝试通过管理面板填写字段'superadmin'。但按下“保存”按钮后,数据库更改未保存。我需要解决这个问题。
请告诉我哪个文件使用。或者向我展示具体的文档页面
PS: 我也生成user_controller.rb并尝试按照:
class UserController < ApplicationController
private
def person_params
params.require(:person).permit(:email, :superadmin, :password, :password_confirmation)
end
end
答案 0 :(得分:1)
您需要将permit_params :email, :password, :password_confirmation, :superadmin
包含在允许的参数列表中:
$revs = array();
while(mysqli_stmt_fetch($statement)){
array_push( $revs,array("item_name"=>$item_name,"username"=>$username,"review"=>$review));
}
Rails不允许您在未经明确许可的情况下从parameters更新模型。