![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
検索結果で表示されたリストを、並べ替えができるようにしたいです。
現在はリンク先をクリックしても、実装できていません。
どこのコードがおかしいのかご教授いただければ幸いですm(_ _)m
=======================
views
=======================
<%= link_to "安い順", :action => 'low' %>
<%= link_to "高い順", :action => 'high' %>
<% @products.each do |product| %>
商品名<%= product.code %>
金額<%= product.price %>
<% end %>
=======================
controller.rb
=======================
def check
@product = Product.all
render :action => 'check'
end
def low
@products = Product.find(:all, :order => "price ASC")
render :action => 'check'
end
def high
@products = Product.find(:all, :order => "price DESC")
render :action => 'check'
end
ご教授よろしくお願い致します。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
すみません。
#2の回答も的外れでした。viewの@productsに正しい値が設定されていないのは、
def check
@product = Product.all
render :action => 'check'
end
の
@product = Product.allが原因です。
これを
@products = Product.all
として下さい。(@productを@productsにする)
尚、view側も見やすくするために
===================================
<%= link_to "安い順", :action => 'low' %>
<%= link_to "高い順", :action => 'high' %>
</br> ・・・ここに改行をいれる
<% @products.each do |product| %>
商品名<%= product.code %>
金額<%= product.price %></br> ・・・ここに改行をいれる
<% end %>
===================================
とすると良いかと思います。
ご教授ありがとうございます。
def checkを修正して実装できました。
>@product = Product.allが原因です。
お手間をおかけしまして、すみません。
ありがとうございました。
@products = Product.order("price")
@products = Product.order("price DESC")
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?5a7ff87)
No.2
- 回答日時:
すみません。
#1の回答は的外れでした。@products = Product.find(:all, :order => "price ASC")
と
@products = Product.order('price ASC')
は同じ結果が得られますので、ソートの指定が誤っているわけではないようです。
(今後は、後者を推奨します)
こちらで、viewをその通りに作成し、実行したところ
NoMethodErrorが発生しましたので、それが原因かと思います。
view側を以下のように修正してください。
==================================
<%= link_to "安い順", :action => 'low' %>
<%= link_to "高い順", :action => 'high' %>
<% if @products %> ・・・・・・・この行を追加
<% @products.each do |product| %>
商品名<%= product.code %>
金額<%= product.price %></br> ・・・本質的な部分ではないが見やすくするために</br>を追加
<% end %>
<% end %> ・・・・・・この行を追加
===============================
@products になにも設定されていない場合は、表示しないように変えました。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?5a7ff87)
No.1
- 回答日時:
以下のようにしてください。
@products = Product.find(:all, :order => "price ASC")
を
@products = Product.order('price ASC')
@products = Product.find(:all, :order => "price DESC")
を
@products = Product.order('price DESC')
rails3.x では、このような書き方に変わっています。
Product.find(:all, :order => "price DESC")の書き方は、
rails2.xの記述方法なので、現在は非推奨になっています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでのループ順序について 3 2023/03/13 10:55
- FX・外国為替取引 mql4のコンパイルエラー箇所の修正お願いします。 1 2023/03/15 16:14
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- デスクトップパソコン Minisforum 中国製のミニパソコン メモリが16 GB CPU 性能も高く お得? 3 2023/02/04 17:16
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
rails3初心者 検索対象に別テー...
-
メソッド定義の構文のdefって
-
c言語のプログラムでこの実行結...
-
get() と find() の違いについて
-
演算子の再定義とインスタンス...
-
子クラスのインスタンスから親...
-
Rubyの超初心者です。「戻り値r...
-
関数の引数に複数のユーザ定義...
-
教えてください。vb5.0
-
*(1..5)の意味
-
Ruby インスタンス変数@fooを...
-
HSTLやSSTL等のI/Oピン
-
計算の途中経過を表示
-
【Ruby】基本的な質問 数字を...
-
What class are you in? には何...
-
railsのform_forの使い方
-
ジェネレーターとはなんですか?
-
お互いをメンバに持つようなク...
-
再帰に関する質問です。
-
[LWP?] 特定のCLASSの値だけ取...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
windows embdded standard7
-
10円未満を切り捨てる方法は?
-
rails3初心者 金額から絞り込み...
-
Rails コンボボックスの値の保...
-
pythonのerrorコード
-
No route matches [GET] "/post...
-
パイソンのクラス
-
get() と find() の違いについて
-
Rubyについて質問です
-
ぱいソン
-
「arg」は何の略?
-
エクセルVBA オートフィルタで...
-
VBAで型が一致しないエラー(バ...
-
教えてください。vb5.0
-
クラス名やモジュール名の競合...
-
What class are you in? には何...
-
エラー「メソッドまたはデータ...
-
A1の値をファイル名に指定した...
-
実行時エラー450:引数の数が一...
-
HSTLやSSTL等のI/Oピン
おすすめ情報