您好!您提到的 select_tag
是一个 Rails 视图帮助方法,用于生成一个 HTML 下拉选择框。您提到它正在排序,但是您没有提供您希望按照哪种顺序进行排序。
如果您希望按照字母顺序对下拉选项进行排序,您可以使用 options_for_select
方法来生成选项,并使用 sort
方法对选项进行排序。例如:
options = options_for_select([ "Apple", "Banana", "Cherry" ], selected: "Banana")
sorted_options = options.sort
select_tag "fruits", sorted_options
这将生成一个下拉选择框,其中选项按照字母顺序排序,并且默认选中 "Banana"。
如果您希望按照其他顺序进行排序,您可以使用 sort
方法的块参数来指定排序顺序。例如:
options = options_for_select([ "Apple", "Banana", "Cherry" ], selected: "Banana")
sorted_options = options.sort { |a, b| a.length <=> b.length }
select_tag "fruits", sorted_options
这将生成一个下拉选择框,其中选项按照字符串长度排序。
如果您希望按照其他属性进行排序,您可以使用 sort_by
方法来指定排序属性。例如:
options = options_for_select([ "Apple", "Banana", "Cherry" ], selected: "Banana")
sorted_options = options.sort_by { |option| option.downcase }
select_tag "fruits", sorted_options
这将生成一个下拉选择框,其中选项按照字母顺序排序,但是忽略了大小写。
希望这些信息能够帮助您解决问题。如果您有其他问题,请随时告诉我们。