我会欢迎ujs_sort_helper的维护者发表评论。只是一个错误在这里和那里的rails 3版本的代码。现在ujs_sort_helper适用于我。
我没有做的是在这个包上创建另一个分支。我通过电子邮件将文件发送给作者。
排序顺序现在将符号而不是符号与字符串进行比较。
def sort_order(column, initial_order='asc')
#safe since to_sm on a sym is a nil operation. At least for now.
if session[@sort_name][:key].to_sym == column.to_sym
session[@sort_name][:order].downcase == 'asc' ? 'desc' : 'asc'
else
initial_order
end
end
我们通过当前订单值设置图标。排序条款应该是相反的。因此,向下显示按升序显示的列表箭头,但'url'设置为以降序重新显示表格。
我不知道:q符号应该用于什么。
def sort_header_tag(column, options = {})
options[:initial_order].nil? ? initial_order = "asc" : initial_order = options[:initial_order]
key = session[@sort_name][:key].to_sym
order = sort_order(column, initial_order)
caption = options.delete(:caption) || column.to_s.titleize
url = { :sort_key => column, :sort_order => order, :filter => params[:filter]}
url.merge!({:q => params[:q]}) unless params[:q].nil?
content_tag('th', link_to(caption, url, :class=>session[@sort_name][:order]), :class => "sort_link #{order if key == column}")
end
所以,我把结果放到一个sqlite数据库中。数据是足够静态的,我可以有一个表的数据和另一个只有时间戳。每N分钟只重建一次。 我想我可以只设置id字段来自动填充,并在其他字段上设置一个索引。我希望这会更有效率。 这是一个痛苦。而不是添加一个创建的所有记录,我必须设置每个字段,并保存!因为我需要从其他数据源捕获的id值。 – mpechner 2011-03-19 01:25:48