1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Ruby on Rails】link_toメソッドをリンクではなくボタンとして使う方法

Last updated at Posted at 2021-09-08

#対象者

  • link_toメソッドの使い方を知りたい方

#目的

  • link_toメソッド使ってviewでボタンを表示する

#実際の手順と実例
###1.link_toメソッドの表示の違い

####a. 基本的な構文

<%=link_to "表示する文字", "URL" %>

上記の書き方だとテキストリンクになってしまう

####b. doとendで囲う方法

<%= link_to URL do %>
   表示する文字
<% end %>

これでボタン化できます。

###2. 実際の使用例

下記サイトを参考に表示テキストがホバーすると変わるボタンを実装

上記記事のHTMLコードは下記の通り

index.html
<a href="#" class="btntextchange">
  <span>About</span><span>私たちについて</span>
</a>

※CSSは省略します。class="btntextchange"に表示を切り替えるcssのコードが書かれています。

これをRailsのコードに置き換えて実験してみた

index.html.erb
<a href="#" class="btntextchange">
  <span><%=link_to "About", "about_path" %></span>
  <span><%=link_to "私達について", "about_path" %></span>
</a>

上記の書き方だとボタン化できません。
原因としては、link_toメソッドを使用することでaタグのHTMLが作成され、二重に精製されてしまっていることが考えられます。

###3.例の解決方法

下記のようにボタン化して解決できます。

index.html.erb
 <%= link_to about_path do %>
    <div class="btntextchange">
             <span>About</span>
             <span>私たちについて</span>
         </div>
 <% end %>

上記のようにHTMLコードを挟み込むことで、
ボタンとして活用できます!

#参照

【Rails入門】link_toの使い方とオプションをわかりやすく解説!
【Rails基礎】link_toメソッドをボタン化して使う方法

1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?