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