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

我认为你必须将原始字符串转义为 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 回答