В контроллере у меня есть такой код:Rails Рабль условие для класса переменной с учетом
@bank_exchangers = ExchangerList.find(:all, :conditions => {:bank_id => params[:id]})
@currency_list = CurrencyList.all
@currencies = []
@currency_list.each do |c|
@currencies << CurrencyValue.find(:all, :conditions => {:currency_list_id => c.id}, :order => :updated_at)
end
@currencies.flatten!
и у меня есть такие модели:
class CurrencyList < ActiveRecord::Base
attr_accessible :code, :country, :name
has_many :currency_values
end
class CurrencyValue < ActiveRecord::Base
attr_accessible :currency_list_id, :direction_of_exchange_id, :value
belongs_to :currency_list
belongs_to :exchanger_list
end
class ExchangerList < ActiveRecord::Base
attr_accessible :address, :bank_id, :exchanger_type_id, :latitude, :location_id, :longitude, :name
has_many :currency_values
end
мне нужно, чтобы отобразить для каждого ExchangerList это CurrencyValue с некоторыми условиями , как я изложил ниже ... Но главная проблема заключается в том, что уровень шума составляет:
У меня есть такой код:
collection @bank_exchangers, :root => "bank_exchangers", :object_root => false
attributes :id, :name, :address, :location_id, :latitude, :longitude, :exchanger_type_id
child @currencies do
attribute :value
end
Как вы можете видеть, здесь для каждого @bank_exchangers я создаю узел с его валютами ... Но мне нужно отображать узел только для этого итератора @bank_exchangers, если бы я писал в контроллере, я бы написал что-то вроде:
@currencies << CurrencyValue.find(:all, :conditions => {:currency_list_id => c.id, :exchanger_list_id => param}, :order => :updated_at)
Как установить что-то подобное на виду?
Becouse теперь мой выход, как:
{"bank_exchangers":[{"id":3,"name":"Банк *** ЦБУ №1","address":"г. Минск, ул. Московская, 13","location_id":8,"latitude":null,"longitude":null,"exchanger_type_id":1,"location_name":"Минск","exchanger_type_name":"normal","currency_values":[{"currency_value":{"value":8620.0}},{"currency_value":{"value":8620.0}},{"currency_value":{"value":8700.0}},{"currency_value":{"value":8700.0}},{"currency_value":{"value":8620.0}},{"currency_value":{"value":8700.0}},{"currency_value":{"value":11500.0}},{"currency_value":{"value":11100.0}}]},{"id":4,"name":"Банк ***","address":"г. Минск, Мясникова, 32","location_id":8,"latitude":null,"longitude":null,"exchanger_type_id":1,"location_name":"Минск","exchanger_type_name":"normal","currency_values":[{"currency_value":{"value":8620.0}},{"currency_value":{"value":8620.0}},{"currency_value":{"value":8700.0}},{"currency_value":{"value":8700.0}},{"currency_value":{"value":8620.0}},{"currency_value":{"value":8700.0}},{"currency_value":{"value":11500.0}},{"currency_value":{"value":11100.0}}]}]}
, как вы можете видеть, для каждого bank_exchangers я создать узел со всеми данными currency_values, но мне нужно поставить для каждого bank_exchangers в узле только currency_values для этого bank_exchangers родителя ....
Как я мог это сделать?
Извините, если что-то не понятно ... я новый ...
Просто, как установить для моего ребенка @currencies ввиду некоторых условий?
кромка, но как с моим кодом? просто добавьте еще одно условие? потому что lambdas здесь не очень хороши ... –
как вы видите, у меня есть итератор в методе –
как это сделать в рубиновых петлях? как каждый –