中间人link_to与数据文件yml中的image_tag

时间:2017-08-03 09:41:02

标签: ruby-on-rails ruby middleman

你能帮帮我吗?我不明白如何结合它。

我有数据文件。 datafile.yml

list:
  - title: "Bar"
   desc: "A bar can be classic addition to any home."
   image: "images/bar/1.jpg"
   id: /bar

以下是我的观点:

<% data.categories.list.each do |x| %>
<div id="our-work">
    <ul>
        <li><a <%= link_to 'Read more', "#{x.id.to_s}.html"  %> >
        <%= image_tag x.image %>
                <div class="overlay">
                    <summary>
                        <h2><%= x.title %></h2>
                        <h3><%= x.desc %></h3>
                    </summary>
                <div class="nnnext"><span></span></div></div>
            </a>
        </li>
<% end %>

我想创建link_to + image标签。在1个字符串中,该怎么办?我希望你明白我的意思。

image:+ id:=&gt; &lt;%= link_to image_tag ...%&gt;

链接到index.html.erb https://gist.github.com/anonymous/d356271136b1f574965c939a6ba1defb

1 个答案:

答案 0 :(得分:0)

问题是你没有遵循语法特别是打开一个块而不是关闭它。

这是基于您共享的html的正确结构。

<% data.categories.list.each do |x| %>
  <div id="our-work">
    <ul>
      <li>
        <%= link_to "#{x.id.to_s}.html" do %> 
          <%= image_tag x.image %>
          <div class="overlay">
            <summary>
              <h2><%= x.title %></h2>
              <h3><%= x.desc %></h3>
            </summary>
            <div class="nnnext"><span></span></div>
          </div>
        <% end %>
      </li>
    </ul>
  </div>
<% end %>

注意:当你使用Read more身体块时,你不能使用文字link_to,在你的情况下是图像和其他html