一千萬個為什麽

搜索

我可以在Ruby中這樣做嗎?

目前我有以下2行代碼

errors.add_to_base I18n.t :error_message if value != 1
return false if !errors.blank?

是否可以將其濃縮為一行代碼?我需要在具有不同錯誤消息和條件的多個地方執行此操作。此外,“return false”是停止ActiveRecord生命周期的流程。

最佳答案

您可以利用布爾邏輯運算符的工作方式並執行以下操作:

value != 1 && errors.add_to_base I18n.t :error_message && return false

不太清楚,我不建議使用它。此外,如果 errors.add_to_base 返回“falseish”的內容,則不會發生返回false。

請記住:“總是編碼,好像維護你的代碼的人是一個知道你住在哪裏的暴力精神病患者”

轉載註明原文: 我可以在Ruby中這樣做嗎?