設置我的模型時,我經常發現自己在設置特定驗證時必須寫出所有屬性。一個常見的例子是,當我使用presence
參數:在Rails中選擇模型的所有當前屬性進行驗證
validates :first_name, :last_name, :username, :email, presence: true
有一個聰明的方式來選擇其所有屬性沒有明確地寫他們全力以赴類似於如何在鐵軌控制檯找回它們?
User.columns
而且它通過如在只會驗證方法的參數?
ALL_ATTRIBUTES = User.columns
validates ALL_ATTRIBUTES, presence: true
嘗試這樣的事情了,我得到這個錯誤undefined method 'to_sym'
感謝您的警告,並且這似乎是做招。只是幾個問題。在將屬性轉換爲符號之前,爲什麼在自我和'&:之前的'*'? – 2014-10-04 14:24:39
@CarlEdwards'column_names.map(&:to_sym)'是'column_names.map {| column | column.to_sym}'。如果你只是調用屬性的方法,那麼你可以縮短使用'&:to_sym'。這是句法糖。 – Mohamad 2014-10-04 14:28:36
@CarlEdwards:增加了對你疑惑的解釋。如果答案有幫助,那麼請接受它,以便其他人可以使用它作爲參考。謝謝。 – Surya 2014-10-04 14:29:05