【发布时间】:2017-11-16 16:39:46
【问题描述】:
我有一种情况,我需要在现有的 html 块中插入部分 html,所以我首先尝试创建这个 html,因为它将在许多地方使用,因此我使用帮助器来创建这个片段 但是 image_tag 会抛出错误,如果直接在视图中使用它可以完美地工作
我的助手代码
def create_banner_html_helper(banner)
if banner.logo.present?
return "<div class='m3-news_wrap m3-mdcast-banner slide'>
<a href='" + banner.link_url + "' target=_'blank'>
<div class='m3-article'>
<div class='m3-section m3-img_holder'>"
image_tag banner.logo(:small)
"</div>
<div class='m3-section m3-desc'>
<h3 class='m3-title'>" + banner.title+ "</h3>
<p>" + banner.subtitle + "</p>
<a href='" + banner.link_url + "' target='_blank'>" + banner.link_text + "</a>
</div>
</div>
</a>".html_safe
end
return "<div class='m3-news_wrap m3-mdcast-banner slide'>
<a href='" + banner.link_url + "' target=_'blank'>
<div class='m3-article'>
<div class='m3-section m3-desc'>
<h3 class='m3-title'>" + banner.title+ "</h3>
<p>" + banner.subtitle + "</p>
<a href='" + banner.link_url + "' target='_blank'>" + banner.link_text + "</a>
</div>
</div>
</a>".html_safe
end
传递的横幅是一个 ActiveRecord 对象。
我真的不知道是什么问题,所以任何帮助将不胜感激
【问题讨论】:
-
它抛出的错误是什么
-
现在它只在 image_tag div 之后打印代码的后半部分。我没有收到错误,但它根本没有显示顶部。但它正在显示HTML 原样而不将其呈现为 HTML
标签: ruby-on-rails