Rails 5.2是否可以使用路由分配枚举值?

时间:2019-03-16 15:45:31

标签: ruby-on-rails

例如,如果我有一个具有两个用户角色的用户模型:

enum role: {regular: 0, admin: 1}

是否可以通过link_to助手传递用户角色?这将是一个示例:

<%= link_to "New Admin User", new_admin_user_path %>

我意识到这是一个非常牵强的概念,但是我想让控制器尽可能地通用。

1 个答案:

答案 0 :(得分:1)

正如您所说,牵强附会,但有可能。首先,使用[d3 setValue:@123 forKeyPath:@"channel.item.title"]; scope为每个角色创建一条路由:

:as

您的路线将是:

User.roles.keys.each do |role|
  scope role, as: role do
    resources :users
  end
end

这使您可以

Prefix           Verb   URI Pattern         Controller
new_regular_user GET    /regular/users/new  users#new
new_admin_user   GET    /admin/users/new    users#new

URI模式包含<%= link_to "New Admin User", new_admin_user_path %> <%= link_to "New Regular User", new_regular_user_path %> role模型,因此在您的控制器中:

user