0

在我的用户表中,我有布尔列:所有者、经理。提交表单后,以下内容不会更新表格。

  <%= f.check_box :owner %> 
  <%= f.label :owner %>

日志:

Processing by UsersController#create as HTML


Parameters: {"utf8"=>"✓", "authenticity_token"=>"k0m814s9fRjCUZxeBXn5GO3o5Fq0evZG1Xc7IfUCOYU=", "user"=>{"name"=>"Bob Dylan", "email"=>"bob.dylan@gmail.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "manager"=>"0", "owner"=>"1"}, "commit"=>"Create my account"}
Unpermitted parameters: manager, owner
   (0.2ms)  begin transaction
  User Exists (0.3ms)  SELECT 1 AS one FROM "users" WHERE LOWER("users"."email") = LOWER('bob.dylan@gmail.com') LIMIT 1
Binary data inserted for `string` type on column `password_digest`
  SQL (56.3ms)  INSERT INTO "users" ("created_at", "email", "name", "password_digest", "remember_token", "updated_at") VALUES (?, ?, ?, ?, ?, ?)  [["created_at", Thu, 06 Jun 2013 14:57:53 UTC +00:00], ["email", "bob.dylan@gmail.com"], ["name", "Bob Dylan"], ["password_digest", "$2a$10$t5hux4e.jDWS9GH7fJj7Z.gSkLehpJxzfwXOTqbnL6LA7zWZT/11S"], ["remember_token", "J-OFaVfx3a4KMGQ0Q9vttg"], ["updated_at", Thu, 06 Jun 2013 14:57:53 UTC +00:00]]
4

3 回答 3

1

在您的用户控制器中,您必须具有以下内容:

def user_params
  params.require(:user).permit(:manager, :owner)
end
于 2013-06-06T14:59:23.933 回答
0
<label>Owner: </label><input type="checkbox" name="owner" value="1" />

如果选中该复选框,则所有者密钥将出现在 post 数组中。

要在提交表单后查看表单时选中复选框,您需要checked="checked"在复选框元素上添加属性。

于 2013-06-06T15:04:24.790 回答
0

您将需要进入您的视图并为该特定字段创建一个复选框或一个单选按钮。在你看来,你会这样做:

form_for @user do |f|
  f.label :owner
  f.check_box :owner
  f.submit
end

您可以根据需要将其包装在 html 代码中。

于 2013-06-06T15:05:38.403 回答