0

章: 9.2 ページ 405
問題:ユーザー名またはアバターが表示されません。

ここに画像の説明を入力

ユーザー/インデックス

<% provide(:title, 'All users') %>
<h1>All users</h1>

<ul class="users">
  <% @users.each do |user| %>
    <li>
      <% gravatar_for user, size: 52 %>
      <% link_to user.name, user %>
    </li>
  <% end %>
</ul>

ユーザーコントローラー

class UsersController < ApplicationController
  before_filter :signed_in_user, only: [:index, :edit, :update]
  before_filter :correct_user,   only: [:edit, :update]
  def show
    @user = User.find(params[:id])
  end  

  def new
    @user = User.new
  end

  def create
    @user = User.new(params[:user])
    if @user.save
      # Handle a successful save
      flash[:success] = "Welcome to the Sample App!"
      redirect_to @user
    else
      render 'new'
    end
  end

  def index
    @users = User.all
  end

  def edit
    @user = User.find(params[:id])
  end

  def update
    if @user.user_attributes(params[:users])
      flash[:success] = "Profile updated"
      sign_in @user
      redirect_to @user
    else
      render 'edit'
    end
  end

  private

  def signed_in_user
    redirect_to signin_path, notice: "Please sign in." unless signed_in?
  end

  def correct_user
    @user = User.find(params[:id])
    redirect_to(root_path) unless current_user?(@user)
  end
end

sample_data.rake

namespace :db do
  desc "Fill database with sample data"
  task populate: :environment do
    User.create!(name: "Example User",
                 email: "example@railstutorial.org",
                 password: "foobar",
                 password_confirmation: "foobar")
    99.times do |n|
      name = Faker::Name.name
      email = "example-#{n+1}@railstutorial.org"
      password = "password"
      User.create!(name: name,
                   email: email,
                   password: password,
                   password_confirmation: password)
    end
  end
end

確認する必要があるコードが欠落している場合、および私の質問に誤解がある場合はお知らせください。ご協力いただき、ありがとうございました。

4

2 に答える 2

2

ビューのコンテンツを実際に印刷しているわけではありません。

<%コンテンツを評価しますが、印刷しません。<%=評価して印刷します。

したがって、次の 2 行を変更する必要があります。

<% gravatar_for user, size: 52 %>
<% link_to user.name, user %>

不足している を追加し=ます。

于 2013-11-14T01:04:06.943 に答える
0

%=HTML での表示に使用します。

<li>
  <%= gravatar_for user, size: 52 %>
  <%= link_to user.name, user %>
</li>
于 2013-11-14T01:03:49.157 に答える