从API中提取rails中的特定数组

时间:2015-02-16 06:37:10

标签: ruby-on-rails

我迷上了API,我希望显示用户拥有的所有配置文件。但是我只想显示'service'等于'test'的配置文件。

目前我在做:

<%= debug @client.profiles %>

,很明显地显示了客户端的所有配置文件。但是我想只显示配置文件,服务等于测试的配置文件。

有人知道怎么做吗?在理想的情况下,我创建一个循环,如下所示:

@client.profiles.each do |profile|

它只会遍历我想要的配置文件。

2 个答案:

答案 0 :(得分:0)

您可以使用where子句查找“服务”等于“测试”的配置文件。

@client.profiles.where(service: "test")

然后你可以循环使用相同的配置文件。

答案 1 :(得分:0)

你可以简单地做

在客户端模型中

  class Client < ActiveRecord::Base
    has_many :profiles, -> { where(service: "test") }
  end   

在个人资料模型中

class Profile < ActiveRecord:::Base
  belongs_to :client
end

profiles表中必须包含client_id

在控制器

 class Clients < ApplicationController
    def show
      @client = Client.find(params[:id])
    end
  end 

/app/views/clients/show.html.erb `

<%  @client.profiles.each do |profile| %>

 <%= profile.name %>
<%end %>