1

フォームにラジオ ボタンのコレクション (?) を入力しようとしています。

# _fields.html.erb

<%= f.label :invoice_type %><br/>   
<%= radio_tags_for_select(f.object.invoice_types) %>

# application_helper.rb

def radio_tags_for_select(types)   
  types_html = types.map do |type|
    content_tag :span, :class => "radio_option" do
      radio_button(:invoice_types, type, type) + type
    end
  end
  safe_join(types_html)
end

この行では正しい構文を取得できないようですradio_button(:invoice_types, type, type) + type。フォームは表示されますが、保存はデータベースに永続化されないためです。

誰でも助けることができますか?

ありがとう...

4

2 に答える 2

0

U は生の文字列を html にエスケープする必要があると思います:

content_tag :span, :class => "radio_option" do
 raw( radio_button(:invoice_types, type, type) + type )
end
于 2013-03-06T10:02:57.723 に答える
0

これは私が最終的に得たものです:

def radio_tags_for_select(types, f)   
  types_html = types.map do |type|
    content_tag :span, :class => "radio_option" do
      f.radio_button(:invoice_type, type) + localize_address_type(type)
    end
  end
  safe_join(types_html)
end

f以前にオブジェクトを渡すのを忘れていたようです。

このコードを簡略化できるかどうか教えてください。私は提案を受け入れます。

于 2013-03-06T11:17:22.680 に答える