Rails + CarrierWave: NoMethodError: undefinierte Methode `image_url 'für nil: NilClass

Ich benutze Devise und Carrierwave. Ich habe geschlechtsspezifische Benutzer mit devise erstellt und dann einen separaten Benutzercontroller erstellt, auf dem sich diese Seite jetzt befindet (Benutzer / Suche).

Carrierwave funktionierte einwandfrei und zeigte Bilder in meiner Show an (Benutzer / 1 usw.), aber wenn ich die Dinge auf die neue 'Such'-Seite verschoben habe, ist sie kaputt.

Hier ist der Code in meiner Ansicht. (Beachten Sie, dass die Ansicht funktioniert, wenn ich das Bild entferne, sodass der andere Code in Ordnung ist.)

<% @males.each do |user| %>
  <%= image_tag @user.image_url(:thumb).to_s %>
  <%= user.firstname %>
<% end %>

Ich habe versucht, in meinem users_controller Folgendes hinzuzufügen:

def search
  @users = User.all
end

Wie Sie möglicherweise anhand des Codes in meiner Ansicht erkennen können, filtere ich Benutzer nach Geschlecht (das sind die definierten @ Male und @ Frauen). Dies können Sie in meinem Modell unten sehen.

class User < ActiveRecord::Base

  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  attr_accessible :email, :password, :password_confirmation, :remember_me, :username, :firstname, :lastname, :gender, :image, :remote_image_url, :image_cache, :remove_image

  mount_uploader :image, ImageUploader

  scope :male, -> { where gender: 'male' }
  scope :female, -> { where gender: 'female' }

Ich habe versucht: image_url zu attr_accessible und mount_uploader hinzuzufügen und es hat nicht funktioniert, aber ich weiß, dass dies nicht das Problem sein würde, da ich sagte, dass es in der Show gut funktioniert.

Irgendwelche Ideen ??

Hinweis: Ich habe alle zugehörigen Fragen hier überprüft und kann immer noch keine Lösung finden, die mir hilft. Vielen Dank

Antworten auf die Frage(1)

Ihre Antwort auf die Frage