我通过一个正在使用的应用程序中的相交表进行自我联接,如下所示。

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/

10-14 03:57