2013-04-14 5 views
0

fichier images.js.coffee.erb:-URL de l'image ne fonctionne pas

<% 
imgs = {} 
Dir.chdir("#{Rails.root}/app/assets/images/bg/") do 
    imgs = Dir["**"].inject({}) {|h,f| h.merge! f => image-url(f)} 
end 
%> 

window.image_path = (name) -> 
    <%= imgs.to_json %>[name] 

fichier page.js.coffee: (pour obtenir le chemin d'image)

icon=image_path("myfile.jpb") 

Erreur:

undefined local variable or method `image' for #<#<Class:0x007ffdaac7cd88> on line 4 

4 imgs = Dir["**"].inject({}) {|h,f| h.merge! f => image-url(f)} 

Le problème est que ma méthode image-url() ne semble pas fonctionner. Pourquoi image_path() fonctionnerait-il, mais l'image-url ne fonctionnerait pas?

merci

+1

Voulez-vous dire 'image_url' peut-être? –

Répondre

0

Parce que la méthode image url est pas un nom de méthode valable pour le rubis.

En outre, ce n'est pas défini sur la documentation api rails, vous pouvez vérifier le api documentation reference à tout moment.

Essayez de faire dans votre irb:

def image-url 
    puts "Hi" 
end 

et il dira que le code est invalide :)

+0

image-url semble fonctionner dans SASS, ce qui explique pourquoi j'étais confus, mais de toute façon, j'ai utilisé image_path et ça semble fonctionner. Merci – user2012677