使用下拉菜单添加到Rails数据库

时间:2016-03-29 02:28:47

标签: ruby-on-rails database drop-down-menu

我一直在愚弄我的代码几天,所以我终于决定来这里寻求帮助。我正在为我的工作创建一个网站,管理员可以根据自己的选择创建一个新用户。但是,任何正式员工都不能。我认为,最直观的方法是使用下拉菜单,他们可以选择新用户作为管理员(导演)或员工(前面或后面)。我的问题是链接创建用户时选择的选项以更新数据库中的“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

0 个答案:

没有答案