如何在Rails中创建HTML模板?

时间:2015-02-02 14:43:46

标签: ruby-on-rails

我有一个很长的代码。例如:

<% Post.limit(10).offset(10).order(id: :desc).each do |post| %>
    ######## FROM HERE ###########
    <% unless post.image.blank? %>
    <% img = post.image.split(' ') %>
    <% if post.post_type == 1 %>
        <div class="post_type1">
          <h1>
            <a href="post/<%= post.slug %>">
              <%= post.title %>
            </a>
          </h1>
       </div>
    <% end %>
  <% end %>
    ####### TO HERE #########
<% end %>

所以,我想把这部分(从这里起来&lt; - &gt;到这里)作为一个模板。所以我写了第一行,后来render or something else, I do not know和显示所有页面的最后一行。你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

只需将其放入文件中(我们称之为_post.html.erb)并将其包含在内:

<% Post.limit(10).offset(10).order(id: :desc).each do |post| %>
  <%= render partial: 'post', locals: { post: post } %>
<% end %>

请注意使用locals: { post: post }将循环中的变量post传递给部分。另一件需要注意的事情是,您的文件名以下划线(_)开头,当您渲染部分时,该下划线将被忽略。

详细了解Rails guide中的部分内容。