私は最近Ruby on Railsを学び始め、アプリを作成してdeviseでユーザーを追加し、ペーパークリップでユーザーにアバターを追加することに成功しました。
今、アプリ全体でアバターを表示する方法に問題があります。アバターは、例としてhttp:localhost:3000/users/...
(deviseフォルダー内に)のみ表示されますがhttp://localhost:3000/profile/
、タグを使用して、例として新しいページ、モデル、コントローラーを作成しようとすると
<%= image_tag @user.avatar.url(:thumb) %>
ページが読み込まれず、このエラーが返されます
undefined method 'avatar?' for nil:NilClass
それはおそらく本当に単純なことですが、それを修正する方法がわかりません。
私のモデルuser.rb
は次のようになります。
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
validates_uniqueness_of :username
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
attr_accessible :name, :username, :email, :password, :password_confirmation, :remember_me, :avatar
attr_accessor :current_password
end
そして、私のコントローラーは次のようになります。
class UserController < ApplicationController
def profile
end
end
ありがとう!