gpt4 book ai didi

ruby-on-rails - 将haml代码保存在一个变量中,然后使用它

转载 作者:行者123 更新时间:2023-12-03 15:59:17 29 4
gpt4 key购买 nike

我想做这样的事情,我不知道是否可能。我也知道这不是一个好的做法,但我在最后期限。

在我的 _buttons.html.haml

- buttons = case params[:action]
- when 'edit'
%a.property-save{ href: "#" }
%i.icon-save.icon-2x
= t('.property_save')
...
- when 'show'
...
- else
%a.property-save{ href: "#" }
%i.icon-open.icon-2x
= t('.property_open')

.my-butons
= buttons

问题是 html 代码已呈现,我不知道如何将这些代码放在 中。按钮 多变的。
谢谢你的建议。

最佳答案

做你想做的直接方法是使用 capture_haml helper将一个块捕获到一个字符串中以供以后重用:

- buttons = case params[:action]
- when 'edit'
- capture_haml do
%a.property-save{ href: "#" }
%i.icon-save.icon-2x
= t('.property_save')
...
- when 'show'
- capture_haml do
...
- else
- capture_haml do
%a.property-save{ href: "#" }
%i.icon-open.icon-2x
= t('.property_open')

.my-butons
= buttons

您似乎在块中有很多重复,更好的方法可能是:
.my-buttons
%a.property-save{ href: "#" }
%i.icon-2x{:class => "icon-#{params[:action]}"}
= t(".property_#{params[:action]}")

您必须根据您的真实数据进行调整,但请注意 class 的值属性将通过合并 icon-2x 形成和散列的结果,所以你可以避免一些重复。

关于ruby-on-rails - 将haml代码保存在一个变量中,然后使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22437810/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com