LoginSignup
0
0

More than 3 years have passed since last update.

画像を希望ページへリンクさせる

Last updated at Posted at 2020-02-22

画像を希望ページへリンクさせてクリックしたら遷移させる

上記の機能を実装する際、手こずったので備忘録として残しておきます。

aタグでリンクさせようと思い、書き方を調べて相対パスで記述する事にした。
aタグ パス指定
下記のコードで実行したが、Routing Errorが起きた。

tops/index.html.erb
<a href="groups/index.html.erb"><img src="assets/1.png" class="img-fluid" alt="Responsive image"></a>

image.png

下記の方法も試したが、同様にRouting Eroorが起きた。

| ◆ リンク先などの記述例 |
同じフォルダ内にリンクするときは、ファイル名のみ(または ./ に続けてファイル名)を記述します。
下位階層にリンクするときは、フォルダ名に続けて / を入れ、ファイル名を記述します。
上位階層にリンクするときは、../ に続けてファイル名を記述します。2つ上の階層を指定するときは、../../ に続けてファイル名を記述します。
並列した階層のフォルダにリンクするときは、../ に続けてフォルダ名と / を入れ、ファイル名を記述します。

解決法

link_toを使用して、記述することにした。
まずは、ルーティングの設定

routes.rb
    Rails.application.routes.draw do
      devise_for :users
      root 'tops#index'
      resources :groups, only: :index
    end

次に、コントローラー

groups_controller.rb
  class GroupsController < ApplicationController
    def index
    end
  end

最後にビュー

tops/index.html.erb
    <%= link_to (groups_path) do%>
      <img src="assets/1.png" class="img-fluid" alt="Responsive image">
    <% end%>

上記手順で画像リンクに成功した。

なぜaタグでできなかったのか?

・railsでリンクさせる場合は相対パスが使用できない?
・rails,rubyのバージョンが相対パスの仕様に対応してない?
(rails 5.0.7.2 , ruby 2.5.1)

確証が持てないのでわかる方はぜひコメントお願いします!!!!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0