我使用这个答案建立了这样的关系:Ruby on Rails has_many through self-referential following/follower Relations
所以我有以下模型:
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
威奇制作这样的路线:
/users/:user_id/is_trustings(.:format) is_trusting#index
我可以接受这个,因为它是中间模型
现在我想要嵌入式模型,但这是我得到的:
/users/:user_id/trusted_users(.:format) trusted_users#index
/users/:user_id/trusting_users(.:format) trusting_users#index
这显然不起作用,因为没有 TrustedUsersController。我不希望这条路线用于 UserController。
必须有一个内置的快捷方式,例如模型中的 :class_name => 'Users'...
有人知道吗?:)