simple_form集合和名称

时间:2013-08-21 07:46:11

标签: ruby-on-rails ruby ruby-on-rails-3 simple-form

我选择了选择董事会的类别。

<%= 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 = "#{"&nbsp;"*b.depth}#{b.name}";b}
  end

在我有选择列表的表单中,它应该如下所示:

Root Name
  Cat1
    Cat2
  Cat3

而不是我得到:

Root Name
&nbsp;Cat1
&nbsp;&nbsp;Cat2
&nbsp;Cat3

知道为什么它不能改变成不间断的空间吗?

1 个答案:

答案 0 :(得分:1)

我修好了,但是这个html_safe让我一直很困惑:(。

帮手:

out.map {|b| b.name = "#{"&nbsp;"*b.depth}#{b.name}";b}

应该是:

out.map {|b| b.name = "#{"&nbsp;"*b.depth}#{b.name}".html_safe;b}