我通过一个正在使用的应用程序中的相交表进行自我联接,如下所示。
class User < ActiveRecord::Base
has_many :clients, :through => :client_relationships, :conditions => "approved='1'", :source=>:user
end
从某种意义上说,它可以正常工作,我可以说@ current_user.clients并获取所有客户端。但是,我想设置一个URL / clients,在其中可以列出所有当前用户的客户端。有人知道我该怎么做吗?
我尝试在路由和客户端控制器中设置:clients资源,但由于没有客户端模型,因此会引发错误。
最佳答案
应该没有错误。
# routes.rb
map.resources :clients
# clients_controller.rb
class ClientsController < ApplicationController
def index
@clients = @current_user.clients
end
# other actions...
end
# clients index.html.erb
<% @clients.each do |c| %>
<p><%= c.name %></p>
<% end %>
关于ruby-on-rails - 基于自连接的Ruby on Rails路由,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3314607/