2013-09-18 7 views
0

Привет всем в файле Player.rb в моделях я установил это .. он работает хорошо.undefined method Rails

before_create :generate_random_hex 

    private 
    def generate_random_hex 
    rand(9999) 
    end 

    Paperclip.interpolates :random_hex do |attachment, style| 
    attachment.instance.random_hex 
    end 

    has_attached_file :avatar, :styles => { :profile => "300x300", :thumb => "100x100#"}, 
    :url => "/assets/people/:id/:style/:basename.:extension", 
    :path => ":rails_root/public/assets/people/:id/:style/:basename_:random_hex.:extension" 

    validates_attachment_size   :avatar, :less_than => 2.megabytes # Solo aceptar imágenes menores a 2 Mb. 
    validates_attachment_content_type :avatar, :content_type => ['image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png', 'image/gif'] 

Проблема в том, что у меня есть другой контроллер, который «обновляет» профиль игрока.

Я получаю эту ошибку «неопределенный метод` random_hex»для #»

Вот как им пытаются вызвать метод я думаю, что мне нужно использовать Player.generate_random_hex?

или что я делаю неправильно?

include Wicked::Wizard 
    steps :personal_information, :experience, :skills, :references_achievements, :personal_profile, :paypal 

    def show 
    @player = current_user.player 
    @player.clubs.build 
    @player.links.build 
    @player.references.build 
    @player.achievements.build 
    @player.citizens.build 
    render_wizard 

    authorize! :show, :player_steps 
    end 

    def update 

    case step 
     when :personal_information 
     params[:player][:language_ids] ||= [] 
     when :experience 
     params[:player][:selection_ids] ||= [] 
    end 

    @player = current_user.player 
    @player.update_attributes(params[:player]) 
    render_wizard @player 

    authorize! :update, :player_steps 
    end 

ответ

0

Попробуйте это:

Paperclip.interpolates :random_hex do |attachment, style| 
    attachment.instance.generate_random_hex 
end 

# without `private` 
def generate_random_hex 
    rand(9999) 
end