一千萬個為什麽

搜索

如何處理視圖中的nils?

我有以下模型設置:

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

當我在 new 視圖中輸入頻率時,如果輸入了頻率,則不允許指定頻段。這在我的其他視圖中產生了一個問題,因為band現在為零。如何在我的索引show 視圖中禁止指定band並顯示為空,然後在 edit 視圖中允許在稍後的某個時間指定一個。

通過執行以下操作,我已經能夠使 index 顯示空白:

contact.band && contact.band.name

但我不確定這是否是最佳方法,我不確定如何將類似的解決方案應用於我的其他觀點。

非常感謝rails newb!

最佳答案

在我的視圖中,我在視圖中使用以下可能的nil對象:


如果你的對象是一個數組或哈希,你可以使用空?功能而不是。


 ..some code

希望這可以幫助!

d

轉載註明原文: 如何處理視圖中的nils?