假设我有3个表:Users,Roles和UserRoles。我可以在请求中获取user_roles:users/1/user_roles
但如果我想获取用户的角色,例如:users/1/roles
,该怎么办。
我的关系如下:
has_many :roles, :through => :user_roles
有可能吗?
答案 0 :(得分:0)
您的模型中的关系与您访问的网址没有直接关系。您需要通过添加新操作或新控制器以及创建新视图等来复制routes
而不是user_routes
的现有行为。
目前你可能有:
user_routes
UsersController
的操作
index
UserRoutesController
的操作
所以:
routes
UsersController
的操作
RoutesController
的控制器。无论您使用哪种方法,在操作中都会将实例变量设置为user.roles
而不是user.user_roles
。
然后,您可以编写所需的任何视图代码。