showからindexの"戻る"ボタンを作りたい。
こんにちは、マリンてす。
現在ポートフォリオを掲載するページを作っています。
感じとしては、一覧ページ(index)から、
どれか選ぶと詳細ページ(show)に飛ぶ感じです。
まずは詳細ページから作っています。
(一覧を見を横に並べるとかでまたハマりそうだったんで…)
詳細から一覧に戻るための"戻る"ボタンを作りたかったのですが、
若干つまったのでメモっときます。
やりたかったこと
- 詳細ページから一覧ページに戻るための"戻る"ボタンの作成。
- 行き先が明確なので、前のページを覚えておいて…みたいなめんどくさいことはしたくない。
作り方
私は'button_to'を使いました。
<%= button_to "戻る", { :action => "index" }, :method => "get" %>
ハマった点
主にオプションです。
いろいろ試して検証したのですが、
<!-- ダメなパターン --> <%= button_to "戻る", :method => "get", :action => "index" %> <%= button_to "戻る", :action => "index" , :method => "get" %> <%= button_to "戻る", { :action => "index" , :method => "get" } %> <%= button_to "戻る", { :method => "get" }, :action => "index" %> <!-- OKなパターン --> <%= button_to "戻る", { :action => "index" }, :method => "get" %> <%= button_to "戻る", { :action => "index" }, { :method => "get" } %>
こんな感じです。
まず順番。
:action
と:method
は逆ではダメなようですね。
次に{ }です。
両方ともハッシュなので、省略できると思いきや、
どうも:action
と:method
は別物のハッシュという認識のようです。
(仕組みがいまいちわからないのですが・・・)
まとめ
Ruby系は割と適当でも理解してくれるって言いますが、
言っても初心者には・・・ですよね。(笑)