我觉得这个单独的标题有点难以解释,所以这里有一些我提出的代码:
Rails查看助手
module SplashHelper
def send_link_or_tag(link=true)
if link
link_to nil, root_path, class: 'to-block'
else
content_tag :div, 'The content'
end
end
end
使用帮助程序的查看(haml)
- 5.times do |i|
- if i%2 == 0
= send_link_or_tag do
-#THE PROBLEM IS THAT I CAN'T ADD CONTENT TO THE
RETURNED link_to (<a> tag) in this case the <p> tag
INSIDE THIS BLOCK!
%p = 2 + 2
- else
= send_link_or_tag false do
-# SAME PROBLEM HERE.
%p = 3 * 3
总之,帮助程序成功返回 link_to 或 content_tag ,但我需要保持连接或添加 Helper返回的标签内的更多标签(通过块)。 看起来在Rails中应该很容易做到,我错过了什么?
提前致谢!
答案 0 :(得分:1)
试试这个辅助方法,
def send_link_or_tag(link=true)
if link
link_to root_path, class: 'to-block' do
yield
end
else
content_tag :div do
yield
end
end
end
这将从您视图中定义的块中生成a
或div
标记中的内容。