У меня установлены следующие модели:
class Contact < ActiveRecord::Base
belongs_to :band
belongs_to :mode
validates_presence_of :call, :mode
validates_associated :mode, :band
validates_presence_of :band, :if => :no_freq?
validates_presence_of :freq, :if => :no_band?
protected
def no_freq?
freq.nil?
end
def no_band?
band.nil?
end
end
class Band < ActiveRecord::Base
has_many :logs
end
class Mode < ActiveRecord::Base
has_many :logs
end
Когда я ввожу частоту в моем новом представлении, это позволяет не указывать полосу, если введена частота. Это создает проблему в других моих взглядах, потому что группа сейчас ноль. Как сделать так, чтобы диапазон не указывался, а просто отображался как пустой в моих index и show представлениях, а затем в представлении edit разрешено уточняется в более поздний момент времени.
Я смог заставить мой index отображать пробел, выполнив:
contact.band && contact.band.name
Но я не уверен, что это лучший подход, и я не уверен, как применить подобное решение к другим моим взглядам.
Большое спасибо от рельса, новичок!