0

ユーザーがさまざまなテーマ(CSSファイルなど)をWebサイトに適用できる機能を備えたRails3.2アプリを構築しています。テーマ名とファイル名を持つテーマモデルがあります-非常に簡単です。

私の質問は、これらのcssファイルはどこに置くべきかということです。それらは/assetsフォルダーにあるべきですか、それとも/ publicフォルダーにあるべきですか?ユーザーがどのcssファイルを選択するかわからないため、プリコンパイルできないため、パイプラインに追加することはできません。

私が次のようなものを使用する場合:

stylesheet_link_tag "plain.css"

もちろん、有効なパスではない/assets/plain.cssへのパスを生成します。

/ publicに入れて、次のようなパスを生成できます "public/themes/" + theme.file

しかし、それについての何かが間違っていると感じます。アーキテクチャの提案はありますか?

4

1 に答える 1

1

すべてのテーマが、ユーザーが1つを選択する単純な既存のスタイルシートである場合、私は

/app/assets/stylesheets/themes/plain.css

次に、ビューでこれを使用します。

stylesheet_link_tag "themes/plain"

# or e.g. using the model

stylesheet_link_tag "themes/#{current_user.theme.file_name}“

theme_stylesheet_tagよりクリーンな方法でこれを行うヘルパーを作成することも検討できます。

于 2012-11-13T15:39:24.293 に答える