У меня есть контроллер, который ищет набор контактов из таблицы контактов. В настоящее время это выглядит следующим образом:Как фильтровать или находить модель на основе метода в этой модели?
@contacts = @campaign.contacts.find(:all, :order => "date_entered ASC")
Метод в contact.rb (Model) заключается в следующем:
def status
return if statuses.empty?
a= statuses.find(:last).status << ' (' << statuses.find(:last).created_at.to_s(:long) << ')'
return a
end
По большей части, если имеется значение в «состоянии», я больше не хотят отображать его в представлении.
В настоящее время статус полиморфный. Это, возможно, уже была глупая идея, но я хотел понятие статуса для применения в различных моделях:
class Status < ActiveRecord::Base
attr_accessible :statusable_id, :statusable_type, :status
belongs_to :statusable, :polymorphic => true
end
# == Schema Information
#
# Table name: statuses
#
# id :integer not null, primary key
# statusable_id :integer
# statusable_type :string(255)
# status :string(255)
# created_at :datetime
# updated_at :datetime
#
Я предполагаю, что, если я могу добавить, что условие к примеру @contacts, что будет заботиться о Это. Но я не знаю, как записать это условие в контроллере по методу .find (если это правильный способ сделать это).
спасибо.
Привет, но что я делаю как условие? Я не уверен, что останусь has_many ... Я * думаю * это позволит мне отслеживать любые изменения по мере изменения статуса ... но не уверен. Я также думал о том, чтобы создать несколько моделей, которые можно было бы контролировать с помощью полиморфных ... а не иметь отдельный атрибут. Но было бы намного проще, если бы я это сделал. – Angela