gpt4 book ai didi

ruby-on-rails - 在助手中渲染 content_for block

转载 作者:行者123 更新时间:2023-12-04 08:29:02 26 4
gpt4 key购买 nike

我正在尝试通过帮助程序呈现 content_for 块的结果。

我有一个模板(HAML)和一个布局如下:

# app/views/books/show.html.haml
-content_for(:page_header) do
%h1= @book.title

# app/views/application.html.haml
...
=yield(:page_header)
...

这工作得很好。

我想做的是在助手中进行调用。所以我的目标是:
# app/views/books/show.html.haml
-content_for(:page_header) do
%h1= @book.title

# app/views/application.html.haml
....
=page_header(block)
....

# app/helpers/application.rb
....
def page_header(&block)

# Some view logic
# ...

=yield(:page_header)
end
....

我可以通过调用 helper 来实现部分结果:
# app/views/application.html.haml
=page_header { yield(:page_header) }

# app/helpers/application.rb
def page_header(&block)
yield
end

但这对我来说很丑陋。

有任何想法吗?提前致谢。

解答:再次使用 content_for(:page_header) 来渲染它。

最佳答案

您可能想查看 capture 以获取字符串中的输出,然后使用它。方法如下:http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-capture

关于ruby-on-rails - 在助手中渲染 content_for block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6781407/

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