我已经在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