0

JavaScript、スタイルシート、ビュー テンプレート間で名前を共有する最も簡単でエレガントな方法は何ですか? 初期化ファイルで定義された変数を使用して実行する必要がありますか? Ryan Bates が js.coffee.erb にいくつかの問題 (.erb と ruby​​ が含まれている) があることについて、Railscast の 1 つで話しているのを聞きました (彼は問題の内容については言及していませんでした)。

x.html.erb -<div id="awesomediv">Awesome</div>

x.css.scss -#awesomediv {background-color: #333333}

x.js.coffee -$('#awesomediv').text("You are awesome")

ファイル全体に散在するすべての「awesomediv」名を整理して整理する最良の方法は何ですか? RailsConf でのデモの 1 つで DHH が変数を使用しているのを見たことがあると思いますが、彼のディレクトリ構造や変数を使用してさまざまなファイルをどのように編成したかについては知りませんでした。

「awesomediv」という名前を「veyawesomediv」に変更する必要がある場合は、さまざまな場所/ファイルを変更する必要があります。中程度のサイズのアプリケーションでも、時間の経過とともにこのような変更を行う必要があります。

この状況を管理する上で、他の人にとってうまくいったベストプラクティス/何かを探しています。

4

1 に答える 1

0

すべてのビュー/コントローラーで Settings オブジェクトにアクセスできる rails_conf gem を使用しました。したがって、css.erb で

#<%= Settings.tag_ids.awesome %> {
  //css rules
}

これは Rails 3.1 以降で動作すると思います。

次に、すべてのレイアウトに含まれる JavaScript ファイルで

tag_ids = <%= Settings.tag_ids.to_json.html_safe %>;

次に、jsはそれらを次のように参照できます

tag_ids.awesome
于 2013-07-23T18:14:57.420 に答える