12

静的HTMLサイトを構築する場合、ベースURLを次のように設定できます<base url="http://localhost:8888/mysite" />。おそらく、たとえば画像を挿入するときは、そのベースURLから次のように挿入できます<img src="/img/logo.png" />。これは次のようになります。<img src="http://localhost:8888/mysite/img/logo.png" />

私の問題は、サイトを移動するときにこれらの相対リンクが機能しないことです。これは、Dropboxの誰かと共有しようとしているため、苦痛です。ベースURLをに変更するだけでよいと思いまし<base url="http://dl.dropbox.com/u/xxxxxxxx/mysite" />たが、画像のリンクはここ<img src="http://dl.dropbox.com/img/logo.png" />にあります。頭に設定した完全なベースURLの代わりに。

どうしてこれなの?

4

2 に答える 2

16

先頭/をなくして相対 URL にします。

<img src="img/logo.png" />

URL には次の 3 種類があります。

  • 完全な資格、例えばhttp://example.org/path/to/file

  • 絶対、たとえば/path/to/file(リンクが example.org ドメインの任意のページからのものであると仮定)

  • 相対、例えばpath/to/file(リンクがルート ( /) "フォルダ" から来ている、またはベース URL があると仮定http://example.org/) またはto/file(リンクが「パス」「フォルダ」内から来ている、またはベース URL が であると仮定http://example.org/path/)

于 2012-04-18T04:15:45.680 に答える
2

私はこれについてゲームに少し遅れていることを知っていますが、ここでは生のHTMLの代わりにRailsアセットタグを実際に使用する必要があります。

たとえば、次を使用する代わりに:

<img src="/img/logo.png" />

次を使用する必要があります。

<%= image_tag 'logo.png' %>

仮定して:

  1. ソースページに.erbファイルを使用しています
  2. /img/config.rbファイルでイメージアセットパスをに設定しました

または、次のコマンドでCSSを参照することもできます。

<%= stylesheet_link_tag 'file.css' %>

Javascriptファイルは次のものに含めることができます。

<%= javascript_include_tag 'file.js' %>

Middlemanではアセットが比較的参照されるかどうかを制御できるため(config.rbの一部の行のコメントを解除することで)、Railsアセットタグを使用する方が静的HTMLタグよりもはるかに理にかなっています。まだ切り替えていない場合は、切り替えることを強くお勧めします。これらのタグのayまたはERB構文についてさらに質問がある場合は、ここで遠慮なく質問してください。

于 2012-05-02T03:20:00.170 に答える