gpt4 book ai didi

ruby-on-rails - 如何在不渲染的情况下从 ERB 代码块中产生?

转载 作者:数据小太阳 更新时间:2023-10-29 06:59:39 25 4
gpt4 key购买 nike

考虑以下几点:

view.html.erb:

<%= make_backwards do %>
stressed
<% end %>

helper.rb:

def make_backwards
yield.reverse
end

View 呈现 stresseddesserts 而不仅仅是 desserts。如何在不渲染代码块的情况下使用 yield 中的内容?

最佳答案

ERB 有一个内部缓冲区,这使得 block 的使用有点复杂,正如您在代码示例中看到的那样。

Rails 提供了一个 capture方法,它允许您在此缓冲区中捕获字符串并从 block 中返回它。

因此您的助手将变成以下内容:

def make_backwards
capture do
yield.reverse
end
end

关于ruby-on-rails - 如何在不渲染的情况下从 ERB 代码块中产生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20629159/

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