我已經在rails應用上構建了一款ruby,允許用戶跟蹤他們的鍛鍊。我也允許他們(如博客)爲他們的鍛鍊創建標籤。當用戶在他們的鍛鍊中添加標籤時,他們通過auto_complete協助保持組織性。Ruby on Rails中的降級和升級
隨着網站的知名度越來越高,我因爲大寫而出現一些混亂/不一致的情況。有沒有辦法告訴應用程序只創建tag.name
的大寫或小寫?
我已經在rails應用上構建了一款ruby,允許用戶跟蹤他們的鍛鍊。我也允許他們(如博客)爲他們的鍛鍊創建標籤。當用戶在他們的鍛鍊中添加標籤時,他們通過auto_complete協助保持組織性。Ruby on Rails中的降級和升級
隨着網站的知名度越來越高,我因爲大寫而出現一些混亂/不一致的情況。有沒有辦法告訴應用程序只創建tag.name
的大寫或小寫?
試着這麼做:
class Tag < AR::Base
before_save :downcase_name
private
def downcase_name
self.name.downcase!
end
end
Ruby在String類上有一個upcase和downcase,它允許你做任何一個。只需在保存數據之前調用。
例如,如果您使用的是simple_auto_complete寶石,你可以做到以下幾點:
class BlogController < ApplicationController
autocomplete_for :post, :title do |items|
items.map {|x| x.upcase}
end
end
我現在不能測試此權利,所以請原諒我,如果有語法錯誤。
我沒有使用那個gem,但是這個插件:https://github.com/rails/auto_complete。這會改變事情嗎? – bgadoci 2010-12-23 05:25:23
ORM什麼是您使用? ActiveRecord的?續集?這個邏輯應該儘可能地接近數據庫,理想情況是在數據庫本身的存儲過程中,或者至少在模型的before_save鉤子中。 – Phrogz 2010-12-23 05:28:48