我在學習Rails,並在通過官方guides,我遇到了一些我無法真正理解其含義的代碼。關於Rails中Ruby語法的說明
案例1 -
class Person < ApplicationRecord
validates :name, presence: true
end
它看起來對我說validates
是需要一個叫做:name
作爲參數符號的方法。但是,什麼是presence
?這也是一種方法嗎?但如果是這樣的話,之後的presence
的意義是什麼。據我所知,價值true
被設置爲presence
,這是一種驗證,需要存在(換句話說)。但是我不太清楚語法。
也可能當presence: true
只是一個哈希,其中:presence
(符號)是關鍵,而true
是值。
案例2 -
class Person < ApplicationRecord
validates :terms_of_service, acceptance: true, message: 'must be abided'
end
再次,validates
是接受一個符號:terms_of_service
爲參數的方法。但其餘的呢?它是一個包含2個鍵值對的散列,有點像{acceptance: true, message: 'must be abided'}
?
如果它確實是一個散列,那麼爲什麼它在每種情況下都加入了validates
方法?爲什麼不能這樣做
validates :terms_of_service
acceptance: true, message: 'must be abided'
感謝您的幫助!
它們只是哈希。你如何格式化取決於你(在Ruby語法的範圍內)。 –