0

Michael Hartl's Rails Tutorial Chapter 10.2.2 Sample 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>

この問題のトラブルシューティングを継続的に行っているため、見つけた情報を更新します。問題は、@microposts 変数を呼び出す <%= render @microposts %> にあります (右?)。これはファイル users_controller.rb で次のように定義されています。

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

私が知る限り、これはcssファイルにつながりません。css ファイルの .microposts クラスを呼び出してレンダリングする必要があります。

4

1 に答える 1

0

CSS コードにエラーが見つかりました。CSS コードを再配置してさらにきれいにすると、余分なブラケットが見つかりました。なぜコードがまだエラーなしでページをレンダリングしていたのかはわかりませんが、ブラケットを削除すると、画面が意図したとおりにレンダリングされ始めました。他の誰かがチュートリアルを試していて、括弧で問題が発生した場合に備えて、このファイルをオンラインのままにしておきます。左括弧と右括弧が同じであることを確認してください。

于 2013-02-18T19:02:39.637 に答える