1

当我浏览 Hartl Rails 教程时,我已经能够跳过大部分的疾驰,但我无法弄清楚我在 10.4 左右做错了什么。我可以使用此/static_pages/home.html.erb正确渲染所有内容

<% if signed_in? %>
<div class="row">
    <aside class="span4">
        <section>
            <%= render 'shared/user_info' %>
        </section>
        <section>
            <%= render 'shared/micropost_form' %>
        </section>
    </aside>
    </div>
<% else %>
<div class="center hero-unit">
    <h1>Welcome to The Gentle Introduction Resource</h1>
    <p>
        This is the home page for the
        <a href="http://www.weekendpublisher.com">The Gentle Introduction Resource</a>
        web app.
    </p>

    <%= link_to "Sign up now!", signup_path, class: "btn btn-large btn-primary" %>
</div>
<br/>
<%= link_to image_tag("rails.png", alt: "Rails"), 'http://rubyonrails.org/' %>

但是当我包含这段代码时:

<div class="span8">
        <h3>Micropost Feed</h3>
        <%= render 'shared/feed' %>
    </div>

它打破了。

完整的 home.html.erb

<% if signed_in? %>
    <div class="row">
        <aside class="span4">
            <section>
                <%= render 'shared/user_info' %>
            </section>
            <section>
                <%= render 'shared/micropost_form' %>
            </section>
        </aside>
        <div class="span8">
            <h3>Micropost Feed</h3>
            <%= render 'shared/feed' %>
        </div>
    </div>
    <% else %>
    <div class="center hero-unit">
        <h1>Welcome to The Gentle Introduction Resource</h1>
        <p>
            This is the home page for the
            <a href="http://www.weekendpublisher.com">The Gentle Introduction Resource</a>
            web app.
        </p>

        <%= link_to "Sign up now!", signup_path, class: "btn btn-large btn-primary" %>
    </div>
    <br/>
    <%= link_to image_tag("rails.png", alt: "Rails"), 'http://rubyonrails.org/' %>
<% end %>

Here is my _feed.html.erb:

    <% If @feed_items.any? %>
    <ol class="microposts">
        <%= render partial: 'shared/feed_item', collection: @feed_items %>
    </ol>
    <%= will_paginate @feed_items %>
    <% end %>

这是我的_feed_item.html.erb

<li id="<%= feed_item.id %>">
<%= link_to gravatar_for(feed_item.user), feed_item.user %>
<span class="user">
    <%= link_to feed_item.user.name, feed_item.user %>
</span>
<span class="content"><%= feed_item.content %></span>
<span class="timestamp">
    Posted <%= time_ago_in_words(feed_item.created_at) %> ago.
</span>
<% if current_user?(feed_item.user) %>
    <%= link_to "delete", feed_item, method: delete, 
    data: { confirm: "You sure?" },
    title: feed_item.content %>
<% end %>
</li>

提前为我的标记抱歉,这是我的第一个堆栈溢出问题。

哦,这是我尝试加载本地站点时遇到的错误:

Static_pages#home 中的语法错误

显示 /rails_projects/sample_appOct20_2013/app/views/shared/_feed.html.erb 其中第 7 行提出:

/rails_projects/sample_appOct20_2013/app/views/shared/_feed.html.erb:7:语法错误,意外的keyword_ensure,期待$end 提取的源代码(在第7行附近):

4:  </ol>
5:  <%= will_paginate @feed_items %>
6: <% end %>

模板包含的痕迹:app/views/shared/_feed.html.erb、app/views/static_pages/home.html.erb

4

1 回答 1

0

我认为它的资本如果

应该:

<% if @feed_items.any? %>
<ol class="microposts">
  <%= render partial: 'shared/feed_item', collection: @feed_items %>
</ol>
<%= will_paginate @feed_items %>
<% end %>

既然是这种情况,它认为 <% end %> 标记是不需要的。它确实是必需的,但 'If'(大写)与 'if'(小写)不同。

于 2013-10-23T17:50:53.957 回答