我一直在愚弄我的代码几天,所以我终于决定来这里寻求帮助。我正在为我的工作创建一个网站,管理员可以根据自己的选择创建一个新用户。但是,任何正式员工都不能。我认为,最直观的方法是使用下拉菜单,他们可以选择新用户作为管理员(导演)或员工(前面或后面)。我的问题是链接创建用户时选择的选项以更新数据库中的“admin”字段。现在我在数据库中有一个布尔管理列(我一直在关注Michael Hartl Rails教程)。我的逻辑,只是在布尔字段中将管理员设置为true,否则为false,但我没有尝试正确执行此操作。现在默认设置为false。我已将代码添加到“创建新用户”html代码和我在数据库中添加管理列后创建的文件。如果我需要包含任何其他代码,请告诉我们!我觉得我在网上阅读的任何内容都无法有效地回答我的问题。提前谢谢!
注册HTML文件:
<!-- sign up page. Will need to add front/back
of house and only allow directors to use this-->
.active {
...
line-height: 200em;
....
}
<% provide(:title, 'Create New Team Member') %>
<h1>Create New Team Member</h1>
<div class="row">
<div class="col-md-6 col-md-offset-3">
<%= form_for(@user) do |f| %>
<%= render 'shared/error_messages' %>
<%= f.label :name %>
<%= f.text_field :name, class: 'form-control' %>
<%= f.label :email %>
<%= f.email_field :email, class: 'form-control' %>
<%= f.label :Duty %>
<%= f.select(:admin, [["Director", "true"],
["Front of House", "false"], ["Back of House", "false"]], class:
'form-control') %>
<%= f.label :password %>
<%= f.password_field :password, class: 'form-control' %>
<%= f.label :password_confirmation, "Password Confirmation" %>
<%= f.password_field :password_confirmation, class: 'form-control' %
<%= f.submit "Create my account", class: "btn btn-primary" %>
<% end %>
</div>
</div>
管理员列文件:
class AddAdminToUsers < ActiveRecord::Migration
def change
add_column :users, :admin, :boolean, default: false
end
end