rails可以自定义助手使用其他助手吗? (image_tag,radio_button_tag等?)

时间:2013-07-13 00:13:51

标签: ruby-on-rails view-helpers

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

我可以通过直接html或使用content_tag(:input ...)来强制它,但有没有办法在helper方法中使用现有的帮助程序,如radio_button_tag而不是content_tag?

2 个答案:

答案 0 :(得分:2)

Yo可以在辅助方法中执行类似的操作。甚至用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 %>

答案 1 :(得分: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