Rails 3 - 通过自引用跟随/跟随关系的has_many的嵌套路由

时间:2013-01-27 23:31:44

标签: ruby-on-rails routes nested

我使用这个答案建立了这样的关系:Ruby on Rails has_many through self-referential following/follower relationships

所以我有以下型号:

class User < ActiveRecord::Base

  has_many :is_trustings
  has_many :trusted_users, :through => :is_trustings, :source => 'trusted'

  has_many :trusters, :class_name => 'IsTrusting', :foreign_key => 'trusted_id'
  has_many :trusting_users, :through => :trusters, :source => :user

end

&安培;

class IsTrusting < ActiveRecord::Base
  belongs_to :user
  belongs_to :trusted, :class_name => 'User'
end

在控制台中使用它时一切正常。 现在我想建立一个嵌套路由,允许客户端检索用户的关注者。

但它没有像我期望的那样工作......

参见我的routes.rb我写的

resources :user do
   resources :is_trusting
   resources :trusted_users
   resources :trusting_users
end

Wich制作这样的路线:

/users/:user_id/is_trustings(.:format)       is_trusting#index

我可以使用这个,因为它是中间模型

现在我想要嵌入的modelsn,但这是我得到的:

/users/:user_id/trusted_users(.:format)       trusted_users#index
/users/:user_id/trusting_users(.:format)      trusting_users#index

这显然不起作用,因为没有TrustedUsersController。我希望这条路线能够用于UserController。

必须有一个内置的快捷方式,例如:class_name =&gt; &#39;用户&#39;在模特......

有人知道吗? :)

1 个答案:

答案 0 :(得分:1)

据我所知,您可以使用:controller密钥

#....
 resources :trusted_users, :controller => :users
#..

希望你要求它)