用户拥有多个帐户,一个帐户属于一个角色。角色可以是“学生”,“管理员”,“教师”。
要查看教师,我可以这样做:
/accounts?filter_by=instructors
# controller
role = params[:role]
@accounts = Account.joins{role}.where{ role.name.eq(role) }
我想做的是:
/instructors
并为每种类型的帐户创建路线。我正在努力寻找创造这些路线的最佳方法。
resources :accounts do
collection do
get "instructors", to: "accounts#index", as: "instructors", default: {filter_by: Role.find_by_name('instructor').id}
end
end
我如何在rails 4路线中执行此操作?
答案 0 :(得分:1)
我猜这个:
resources :accounts, path: 'instructors', as: 'instructors', filter_by: 'instructors'
或
get "/:filter_by",
constraints: { filter_by: /instructors|another_type/ },
to: "accounts#index",
as: "accounts"