【发布时间】:2017-02-21 06:59:18
【问题描述】:
在尝试更新模型时,我遇到了严重的参数错误。创建操作有效,更新失败。
Started PATCH "/companies/6/users/10" for 71....... at 2017-02-21 06:27:27 +0000
Processing by UsersController#update as JS
Parameters: {"company_id"=>"6", "id"=>"10"}
User Load (1.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT $2 [["id", 9], ["LIMIT", 1]]
SQL (3.6ms) UPDATE "users" SET "last_activity_at" = '2017-02-21 06:27:27.940545' WHERE "users"."id" = $1 [["id", 9]]
User Load (0.7ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", 10], ["LIMIT", 1]]
这个错误不是很有帮助,至少对我没有帮助:(
Completed 400 Bad Request in 12ms (ActiveRecord: 6.1ms)
ActionController::ParameterMissing (param is missing or the value is empty: user):
app/controllers/users_controller.rb:60:in `user_params'
app/controllers/users_controller.rb:43:in `block in update'
app/controllers/users_controller.rb:42:in `update'
控制器参数
def user_params
params.require(:user).permit(:name, :role, :email, :company_id, :password, :password_confirmation, :current_password)
end
【问题讨论】:
-
我正在使用 link_to 来修补此记录。不确定如何构建以下内容以使用 :user 参数包装所有内容。 current_user.company_id, :id => user), :method => :patch, remote: true do %>
标签: ruby-on-rails activerecord devise ruby-on-rails-5 strong-parameters