我正在完成 Michael Hartl 的 Rails 教程第 10.2.2 章示例 Microposts
访问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>
随着我不断解决此问题,我将更新我能找到的内容。问题在于 <%= render @microposts %> 调用 @microposts 变量(对吗?)。这在文件 users_controller.rb 中定义为
def show
'@user = User.find(params[:id])
'@microposts = @user.microposts.paginate(page: params[:page])
end
据我所知,这不会导致css文件。不知何故,这需要调用 css 文件中的 .microposts 类来呈现。