0

ユーザーがドロップダウンから「白」を選択すると、divの背景画像が白の画像に変わり、「赤」を選択すると、赤の画像に変わるようにしようとしています。

最高の場所にある宝石も使用しているので、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フォルダーに保存されます。次のエラーが発生します。

nil:NilClassの未定義のメソッド `background'

TIA!

4

1 に答える 1

0

そうすることはできないと思います。本番環境では、これらのJavaScriptをプリコンパイルしてから、静的ファイルとして提供する必要があります。リクエストごとに変更されて、ユーザーごとに異なる背景が表示されることはありません。

考えられる解決策は、タグ@user.backgroundのクラスとして設定することです。background

于 2012-11-16T13:13:58.313 に答える