【发布时间】:2019-07-08 22:38:59
【问题描述】:
我正在构建一个 Rails 应用程序,我希望在其中拥有两种类型的用户,即卖家和买家。用户可以在注册时选择他们想注册为卖家或买家的天气。
然后我使用 devise 创建了用户
在user.rb 中添加了enum role: [:seller, :buyer]
然后创建迁移以向用户添加角色
rails g migration add_role_to_users
我的迁移如下所示:
class AddRoleToUsers < ActiveRecord::Migration
def change
add_column :users, :role, :integer
end
end
我使用简单的形式,在我的users registration form 中添加了
<%= f.select :role, User.roles %>
在索引页面上我正在尝试这样做:
<% if current_user.seller? %>
<%= link_to 'New Post', new_post_path %>
<% else %>
hello
<% end %>
但不知何故我的用户的角色返回为零,我也检查了控制台,即使我的用户的角色返回为零,有人可以帮助我并告诉我做错了什么。谢谢你
【问题讨论】:
标签: ruby-on-rails enums devise roles