日々精進

新しく学んだことを書き留めていきます

Rails - ページの途中にリンク

ページの途中にリンクするには、a nameタグを使えばいい。リンクのURLも多少変更する必要があるが、
詳細はリンクを参照。
Railsのlink_toでこれをやろうとしてもURLの中にある「#」はエスケープされてしまうのでできない。
例えば↓のView内のコードは

<%= link_to "test", :action => :player, :video_id => @videos[i].id, :z_jump_to => "#player" %><br>

レンダリング後に↓のアドレスへのリンクになる。

http://127.0.0.1:3000/movie/player?video_id=256&z_jump_to=%23player



これを回避するにはurl_forを使えばいい。↑の例を↓のように書き換える。

<%= link_to "test", url_for(:action => :player, :video_id => @videos[i].id) + "#player" %><br>

すると、レンダリング後に↓のアドレスへのリンクになる。

http://127.0.0.1:3000/movie/player?video_id=256#player