我需要根据它们的状态对formtastic的集合进行排序,无论它们是否被选中。
我的设置如下所示
# user.rb
class User
has_and_belongs_to_many :colours
end‘
# colour.rb
class Colour
has_and_belongs_to_many :users
scope :ordered_for, lambda { |user|
all.sort_by { |s| include? user ? 1 : 0 }
}
end‘
# _form.html.haml
= semantic_form_for(@user) do |f|
= f.input :colours, :as => :check_boxes, :collection => Colour.ordered_for(current_user)ordered_for返回一个良好排序的数组。事实上,formtastic后来破坏了这个顺序,并按id对颜色进行排序。
什么是抑制这种行为的好方法?有没有更聪明的方法来实现按选择排序?
提前感谢!
发布于 2011-08-31 03:05:47
请尝试:
Colour.ordered_for(current_user).allhttps://stackoverflow.com/questions/7247869
复制相似问题