Railsのlink_to
を使い、他ページの特定のid属性が付与されている箇所を指定する方法が分からずハマったため、備忘録としてまとめます。
目次
問題
Railsのlink_to
メソッドを使い、次のような実装をしていました。
利用規約の<%= link_to "禁止事項", guideline_path, target: '_blank', rel: 'noopener noreferrer' %>に該当した可能性があります。
遷移先はサービスの利用規約ページです。
「禁止事項」は利用規約ページ中段の第8条に記載されているため、そこまでスクロールされた状態で遷移したいです。
なので、第8条のタイトルに付与されているid属性prohibited-actions
を遷移先として指定したかったのですが、やり方がわかりませんでした、、。
<h3 class="sub-head" id="prohibited-actions"><span>第8条 禁止事項</span></h3>
解決策
以下のように記述することで、指定したid属性の箇所へピンポイントで遷移させることができました。
利用規約の<%= link_to "禁止事項", guideline_path((anchor: 'prohibited-actions')), target: '_blank', rel: 'noopener noreferrer' %>に該当した可能性があります。
anchor
オプションを付与することで実現可能です!
おわりに
今まで知らなかったのですが、link_to
メソッドには他にもたくさんのオプションが存在しています。
気になる方は以下のドキュメントを見てみてください。
コメント