Rails 3.2
我工作的一個應用程序,它有開頭和結尾去掉空格很重要,保存到數據庫之前。去除每一個輸入空格Rails中
我打算寫一個輔助方法,要做到:
if !self.attribute_name.nil?
self.attribute_name = self.attribute_name.strip
end
,把它的每一個屬性,在各種模型,作爲before_save行動。
你能想到更簡單的方法嗎?
Rails 3.2
我工作的一個應用程序,它有開頭和結尾去掉空格很重要,保存到數據庫之前。去除每一個輸入空格Rails中
我打算寫一個輔助方法,要做到:
if !self.attribute_name.nil?
self.attribute_name = self.attribute_name.strip
end
,把它的每一個屬性,在各種模型,作爲before_save行動。
你能想到更簡單的方法嗎?
有很多是您處理該問題,我使用的寶石。其一是:github.com/rmm5t/strip_attributes
然後你只需將其包含在每個模型文件,而不是每個控制器創建/更新行動
我明白這不支持Rails> 3.2,但我的應用程序是Rails 3.2 – EastsideDeveloper
它適用於4.2,但我沒有針對Rails 5.0進行測試。我已經使用Rails 5的下列內容(但選項較少):https://github.com/thomasfedb/attr_cleaner – bkunzi01
替換可以用gsub方法完成。這些是替代方法。 gsub全局應用替換。
您可以使用GSUB也
if !self.attribute_name.nil?
self.attribute_name = self.attribute_name.gsub(" ", "")
end
請不要使用html/js/css代碼片斷的東西是不是一個可運行的HTML/JS/CSS。特別是ruby代碼。 –
好的,我會記住這一點 –
這也不能解決我的問題,因爲它不會刪除要求爲每個屬性調用此方法的要求。 – EastsideDeveloper
有很多是您處理該問題,我使用的寶石。一個是:https://github.com/rmm5t/strip_attributes 然後,您只需將其包含在每個模型文件中,而不是每個控制器的創建/更新操作。 – bkunzi01
@ bkunzi01:如果你把它變成一個答案,我會給你信貸的。該寶石還具有額外的好處,允許我刪除字符串內多餘的空白,以及額外的行(作爲選項) – EastsideDeveloper