大家好,模型中的Player.rb文件中的每个人都设置了这个..这样做很好。
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 :(得分:0)
试试这个:
Paperclip.interpolates :random_hex do |attachment, style|
attachment.instance.generate_random_hex
end
# without `private`
def generate_random_hex
rand(9999)
end