2012-11-16 37 views
0

我试图让它在用户从下拉列表中选择“白色”时,div的背景图像更改为白色图像,并且当他们选择“红色“,它变成了一个红色的图像等在咖啡文件文件中使用erb来更改背景

我不得不使用coffeescript,因为我使用最好的地方宝石。我是coffeescript的新手,所以它可能是一个语法错误,但任何帮助将不胜感激!

user.js.coffee.erb:

jQuery -> 
    $('.best_in_place').best_in_place() 
    $('#background').css("background-image", "url("/assets/images/<% @user.background %>.jpg")") 

的图像被存储在资产的图像文件夹。 js.coffee.erb文件存储在资产中的javascripts文件夹中。我收到以下错误:

undefined method `background' for nil:NilClass

TIA!

回答

0

我不认为你可以这样做。在生产环境中,这些javascript应该被预编译,然后作为静态文件。他们不会在每次请求时更改以向不同用户显示不同的背景。

可能的解决方案是将@user.background设置为background标记的类。

+0

这可能是什么问题 - 谢谢你为我清理。将尝试使用其他方式,谢谢。 – ecs