1

モデルでイメージタグを呼び出して、イメージが存在する場合はイメージを返そうとしています。それ以外の場合は、次のように null を返します:-

 def medium_avatar_exists?
    if self.avatar.present?
      image_tag self.avatar.thumb_medium_url
    else
      image_tag "missing-avatar-medium.png"
    end
  end

ビューからこのメソッドを呼び出すと:-current_user.medium_avatar_exist?

undefined method image_tag というエラーが表示されます 何が問題なのですか?

4

1 に答える 1

3

モデルでヘルパー メソッドを使用することはできません。これはヘルパー メソッドでimage_tagあり、モデルでそれを使用しようとしているため、エラーが発生します。

代わりに、あなたapplication_helper.rbまたは他のヘルパーで次のことを試してください

def medium_avatar_exists?(user)
  if user.avatar.present?
    image_tag user.avatar.thumb_medium_url
  else
    image_tag "missing-avatar-medium.png"
  end
end

あるいは単に

def medium_avatar_exists?(user)
  image_tag (user.avatar.present? ? user.avatar.thumb_medium_url : "missing-avatar-medium.png")
end
于 2012-09-17T04:42:14.397 に答える