学習RoR(19) ラジオボタンまわりの試み
以前 arton さんに教えてもらったラジオボタンの問題を少し考えてみた。よりよいかどうかは分からないけれど、こういう方法はどうだろうか、というもの。一応記録しておく。
はじめ、
- list.rhtml(部分)
- <%= radio_button_tag :sort, "code", params[:sort] == "code" %><%=h _('Code') %>
<%= radio_button_tag :sort, "name", params[:sort] == "name" %><%=h _('Name') %>
だったものを、
- list.rhtml(部分)
- <%= radio_button_tag :sort, "code", @c %><%=h _('Code') %>
<%= radio_button_tag :sort, "name", @n %><%=h _('Name') %>
のようにして、アクションも変えてみた。
def list
@n = @s = @c = params[:sort]
case params[:sort]
when 'name'
@page, @items = paginate :items, :order => 'name_read ASC', :per_page => 10
@s = @c = false
else
@page, @items = paginate :items, :order => 'code ASC', :per_page => 10
# params[:sort] = "code" #はじめはこれ
@c = true
@n = @s = false
end
end
ちょっと微妙か。list.rhtml のほうはすっきりしたけれど、アクションがちょっとみっともないような気がしないでもない。
| 固定リンク
コメント