rails在页面结果中获取相关数据

时间:2012-06-16 21:29:23

标签: ruby-on-rails

假设我有3个表:Users,Roles和UserRoles。我可以在请求中获取user_roles:users/1/user_roles但如果我想获取用户的角色,例如:users/1/roles,该怎么办。

我的关系如下:

has_many :roles, :through => :user_roles

有可能吗?

1 个答案:

答案 0 :(得分:0)

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

目前你可能有:

  • user_routes
  • 中名为UsersController的操作
  • index
  • 中名为UserRoutesController的操作

所以:

  • routes
  • 中添加名为UsersController的操作
  • 使用索引操作添加名为RoutesController的控制器。

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

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