0

假设我有 3 个表:用户、角色和用户角色。我可以在请求中获取 user_roles:users/1/user_roles但是如果我想获取用户的角色,例如:users/1/roles.

我的关系如下:

has_many :roles, :through => :user_roles

是否可以?

4

1 回答 1

0

您模型中的关系与您访问的 url 没有直接关系。您需要复制现有行为,routes而不是user_routes通过添加新操作或新控制器并创建新视图等。

目前你可能有:

  • 调用的user_routes动作UsersController
  • 调用的index动作UserRoutesController

所以要么:

  • 添加routesUsersController
  • 添加一个RoutesController使用索引操作调用的控制器。

无论您使用哪种方法,在您的操作中将您的实例变量设置为user.roles而不是user.user_roles.

然后,您可以编写所需的任何视图代码。

于 2012-06-16T23:43:41.740 回答