【发布时间】:2012-01-16 05:35:54
【问题描述】:
我想使用 Ruby 方法来生成在我的页面中经常出现的标记。本质上,我想做这个(ERB文件)的等价物:
<% def create_button(text) %>
<div class="button"><%= text %></div>
<% end %>
...
<%
create_button("My First Button")
create_button("My Second Button")
# etc.
%>
显然,我的想法是,只要我需要一个按钮,我就使用create_button。
我想象的 Ruby/HAML 解决方案看起来像这样:
def create_button(text)
%div.button text
end
create_button("My First Button")
create_button("My Second Button")
这个的输出将与第一个块相同。
有没有办法做到这一点?如果没有,最终我正在寻找一种优雅的方式来使用 Ruby 辅助方法生成标记。如果您对如何执行此操作有任何建议,我很想听听。我是 Rails 的新手,不太喜欢 ERB,但也许我错过了一些东西。无论如何,我愿意接受建议。
【问题讨论】:
-
不推荐的解决方案。改用助手。对于标签,使用
content_tag(:tag, "content")方法
标签: ruby ruby-on-rails-3 haml