我在Heroku上部署了我的rails应用程序,但是我遇到了管理功能问题。我有一些只有管理员才能看到的功能(创建博客文章等)。它们与localhost
上的预期完全一致,但在Heroku上,所有用户都可以看到非管理员视图。以下是应该区分视图的代码示例:
<% if current_user && current_user.admin? %>
<h3 class="cta"><%= link_to 'New Blog Entry', new_post_path %></h2>
<% else %>
<h3 class="cta"><%= link_to 'Dig Into the Most Recent Post', post_path(@most_recent_post) %></h3>
<% end %>
以下是enum
的{{1}}说明(使用users
进行设置):
devise
这是Heroku控制台中的用户验证,显示用户实际上是管理员:
enum role: { member: 0, generator: 1, workouts: 2, all_access: 3, admin: 5 }
有没有人有Heroku的经验说出为什么,当我以管理员身份登录时,我仍然在这里看到[1] pry(main)> User.first
User Load (2.3ms) SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1
User Load (2.3ms) SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1
=> #<User:0x007f7eeed04f20
id: 1,
...
role: "5",
条件而不是else
条件?这个问题在整个应用程序中都很普遍。