1

public/company/CSS ファイルの下に配置された HTML ファイルに次のコンテンツがありますcss/style.css

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
    <link href="css/style.css" rel="stylesheet" type="text/css" media="all"/>
  </head>
  <body>
    <div class="title">Name {name}</div>
  </body>
</html>

{name}アクションから CSS スタイルシートを使用してこの HTML ファイルをレンダリングし、物理ファイルのコンテンツと場所を変更せずに置き換えたいと考えています。HTML ファイルはレンダリングできますが、CSS ファイルが見つかりません。HTMLファイルをCSSファイルでレンダリングして、を置き換えるのを手伝ってくれる人はいます{name}か?

4

3 に答える 3

0

CSSファイルがにある場合/public/company/css/style.css、静的HTMLファイルはそれを絶対パスにリンクする必要があります。リソースのパスに先頭/を使用して、絶対パスを示します。

<link href="/company/css/style.css" rel="stylesheet" type="text/css" media="all"/>  

Railsルーターがこの要求をキャッチして例外を発生させる可能性があることに注意してください。Webサーバーによっては、静的アセットを有効にするか、Railsを完全にバイパスして直接提供する必要がある場合があります。

静的HTMLファイルのコンテンツを実際に変更せずにサーバー側で変更する(つまり、ERbを追加する)のは簡単ではありません。あなたは出来る:

  • クライアント側で変更を実行するために、応答にJavaScriptを挿入します。(ぶさいくな)
  • Nokogiriなどを使用して静的HTMLファイルをロードします。また、コンテンツを変更し、出力をクライアントに送信します。(高価な)

/publicこれらのバニラHTML/CSSファイルはサードパーティ(デザイナー?クライアント?)であり、それをドロップしてRailsで自動的に動作させたいと私には思えます。それはいいことですが、それほど簡単ではありません。Railsの組み込みのテンプレートシステムを使用する方が良いでしょうが、それはファイルを変更して予想される場所に移動することを意味します。

于 2012-12-03T08:32:45.210 に答える
0

ここをクリックして、その方法に関する記事をご覧ください。それが役立つことを願っています!

しかし、Rails がすべての機能を備えているのに、なぜそのようにレンダリングしようとしているのか、私にはわかりません。

于 2012-12-12T07:11:34.387 に答える