Michael Hartl RailsTutorial第10.2.2章示例Microposts

时间:2013-02-17 19:07:52

标签: railstutorial.org

我正在完成Michael Hartl的Rails教程第10.2.2节“样本微调”

访问http://ruby.railstutorial.org/chapters/user-microposts?version=3.2#sec-creating_microposts

我遇到了个人资料页面css无法正常呈现的问题。 Rspec通过,页面加载,我可以毫无问题地浏览整个站点。 css代码由类调出,它将css代码链接到rails输出。我将尽可能多地粘贴信息。 注意:我是Rails编程或面向对象的绝对初学者所以请在回复中具体说明,因为我可能还没有理解这个主题的经验。

我会发布图片,但我还没有所需的声望点。

以下是一些代码......

这是无法正确呈现的个人资料页面的HTML

<% provide(:title, @user.name) %>
<div class="row">
  <aside class="span4">
    <section>
      <h1>
        <%= gravatar_for @user %>
        <%= @user.name %>
      </h1>
    </section>
  </aside>

  <div class="span8">
    <% if @user.microposts.any? %>
      <h3>Microposts (<%= @user.microposts.count %>)</h3>
      <ol class="microposts">
        <%= render @microposts %>
      </ol>
      <%= will_paginate @microposts %>
    <% end %>
  </div>

</div>

这是此页面的css代码

/* microposts */

  .microposts {
    list-style: none;
    margin: 10px 0 0 0;

    li {
      padding: 10px 0;
      border-top: 1px solid #e8e8e8;
    }
  }
  .content {
    display: block;
  }

  .timestamp {
    color: $grayLight;
  }

  .gravatar {
    float: left;
    margin-right: 10px;
  }

  aside {
    textarea {
      height: 100px;
      margin-bottom: 5px;
    }
  }

此外,如果用户已登录,主页也会调用此css代码来呈现微博。此页面也不会正确呈现微博。主页HTML位于

之下
<% 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 Sample App</h1>

        <h2>
            This is the home page for the
            <a href="http://railstutorial.org/">Ruby on Rails Tutorial</a>
            sample application <br>Sample App Tutorial Completed by Jake Danforth.
        </h2>

        <%= link_to "Sign up now... Because it's Awesome!!!", signup_path, class: "btn btn-large btn-primary" %>
    </div>

    <%= link_to image_tag("rails.png", alt: "Rails"), 'http://rubyonrails.org/' %>
<% end %> 

最后一个代码调用_user_info.html.erb文件,代码包含在

下面
<a href="<%= user_path(current_user) %>">
  <%= gravatar_for current_user, size: 52 %>
</a>
<h1>
  <%= current_user.name %>
</h1>
<span>
  <%= link_to "view my profile", current_user %>
</span>
<span>
  <%= pluralize(current_user.microposts.count, "micropost") %>
</span>

在我不断解决这个问题时,我会更新我能找到的内容。问题在于&lt;%= render @microposts%&gt;它调用@microposts变量(对吗?)。这在文件users_controller.rb中定义为

    def show
    '@user = User.find(params[:id])
    '@microposts = @user.microposts.paginate(page: params[:page])
  end

据我所知,这不会导致css文件。不知何故,这需要调用css文件中的.microposts类进行渲染。

1 个答案:

答案 0 :(得分:0)

我在CSS代码中发现了一个错误。我重新安排了CSS代码以进行更清理,并找到了额外的支架。我不知道为什么代码仍然在没有错误的情况下渲染页面,但是,当我删除括号时,它开始按预期渲染屏幕。我将此文件保留在线,以防其他人正在尝试使用该教程并遇到括号问题。确保打开和关闭括号相等!