2011-01-06 21 views

答えて

7

は、あなたが「イメージマップ」の話をしている - これらのさまざまなチュートリアルがあります、例えば私の知る限りイメージマップがそうであるように、これは、実際にレールの質問ではありません知っているよう http://www.onextrapixel.com/2009/04/30/how-to-create-multiple-links-on-a-single-image-with-image-map/

完全にフロントエンドのもの:jsのように、ブラウザに表示されているページにのみ関連しています。レールに関する限り、リンクをクリックすると、そのリンクがイメージマップ上にあったかどうかは気にしません。

これは、ビューテンプレートに入れる生のHTMLの一部です。

イメージマップをデータ駆動型にすることができます。たとえば、イメージファイル名をdbに保存し、マップデータをdbに保存するには、image_mapsテーブルを使用します。たとえば、フリッカーのようにイメージマップをユーザーが編集できるようにしたい場合は、これを行うだけです。 (フリッカーでは、既存の写真に長方形を描き、テキストでタグ付けすることができます)

+0

これは良い解決策のようです。 – s84

+0

私はこのリンクを早く見つけましたが、hamlのソリューションを実装する際に問題があります。 – janegee

0

これはjavascript/flashタイプのものです。リンクが必要な場所を正確に知っていて、特定の位置にあるテキストとのリンクを生成するだけなので、ユーザーがクリックする領域を探していない場合、divでリンクを配置することができます。

あなたはフラッシュアプ​​リケーションを作成する必要があるか、javascriptの回避策を行う必要がありますように私に音。これはRailsタイプの問題ではないので、あなたのソリューションはRuby/Railsから来ないでしょう。

2

だけのroot_pathを設定/ routes.rbを内のリソースとして、ホームページやリソース1のように定義された必要なURL

<img usemap="image_link" src="..." alt="" width="235" height="32" style="display: block;" /> 
<map name="image_link"> 
    <area href="<%= url_for root_path %>" alt="Home" coords="0,0,189,19" shape="rect" /> 
    <area href="<%= url_for :controller => "post", :action => "all" %>" alt="All posts" coords="190,0,386,22" shape="rect" /> 
    <area href="<%= url_for new_resource1_path %>" alt="New resource1" coords="387,0,657,23" shape="rect" /> 
</map> 

を生成するなurl_forを使用しています。

関連する問題