0

在客户助手中,我需要添加一些单选按钮和偶尔的图像。

我可以通过直接 html 或使用 content_tag(:input ...) 对其进行暴力破解,但是有没有办法在辅助方法中使用现有的助手,例如 radio_button_tag 内部而不是 content_tag ?

4

2 回答 2

2

你可以在辅助方法中做这样的事情。甚至用 html 传递一个块

some_helper.rb

def nav_dropdown_item label
    return nav_item(label, "#") unless block_given?
    content_tag(:li, class: 'dropdown') do
        link_to(t(label), "#", class: 'dropdown-toggle', data: {toggle: 'dropdown'}) +
        content_tag(:ul, yield, class: 'dropdown-menu')
    end
end

some_view.html.erb

<%= nav_dropdown_item 'menu.admin.title' do %>
  <% nav_item('menu.admin.chains', '/chains') +
  nav_item('menu.admin.food_types', '/food_types') +
  nav_item('menu.admin.street_types', '/street_types') +
  nav_item('menu.admin.poi_sources', '/poi_sources') +
  nav_item('menu.admin.poi_types', '/poi_types') %>
<% end %>
<%= nav_item 'menu.users', users_path %>
于 2013-07-13T15:56:02.047 回答
0

我的一个项目的例子

def apply_button(offer)
  ... a lot of code here ...

  link_to span.html_safe, offer_applications_path(offer), method: :post, remote: true, id: 'offer-apply-button'
end
于 2013-07-13T10:15:56.083 回答