0

ボードのカテゴリを選択する選択肢があります。

<%= 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

これを改行しないスペースに変更しない理由は何ですか?

4

1 に答える 1

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}
于 2013-08-21T08:03:00.487 に答える