我选择了选择董事会的类别。
<%= simple_form_for @board do |f|%>
<%= f.input :name %>
<%= f.input :description %>
<% unless @board.root? %>
<%= f.input :parent_id, collection: formated_collection(@board), include_blank: false %>
<% end %>
<%= f.button :submit %>
<% end %>
帮助方法:
def formated_collection(board)
if board.new_record?
out = board.root.subtree
else
out = board.root.subtree - board.subtree
end
out.map {|b| b.name = "#{" "*b.depth}#{b.name}";b}
end
在我有选择列表的表单中,它应该如下所示:
Root Name
Cat1
Cat2
Cat3
而不是我得到:
Root Name
Cat1
Cat2
Cat3
知道为什么它不能改变成不间断的空间吗?
答案 0 :(得分:1)
我修好了,但是这个html_safe让我一直很困惑:(。
帮手:
out.map {|b| b.name = "#{" "*b.depth}#{b.name}";b}
应该是:
out.map {|b| b.name = "#{" "*b.depth}#{b.name}".html_safe;b}