0

私はRubyonRails3.2.2とruby1.9を使用しています。

私はモデル入札を持っており、属性の1つはステータスです。インデックスページには、最初にロードされたときに、すでにログインしているユーザーの会社に基づいた入札データが表示されます(ステータスも表示されます)。

すべてのステータス(開始、クローズ、勝ちなど)を含むコンボボックスによるフィルターが必要なので、ユーザーがフィルターを変更したときに、コントローラーにステータスを送信してテーブルデータも変更したいステータスに基づいて入札を除外します。どうやってやるの?Ajaxを使用するのはどうですか(変更されるのはページ全体ではなくテーブルデータだけなので)?

また、bid_amount(これも属性の1つ)など、ステータス以外のオプションによるさまざまなフィルターがあります。データによるbid_amountフィルターをステータスと組み合わせるにはどうすればよいですか(つまり、ユーザーが入札額b / n 10,000-100,000のクローズステータスを表示したい場合)。コントローラでクエリを書くのに問題はありませんが、ビューからクエリを使用する方法がわかりません。

rubyにはJavaのような列挙型がないため、モデルクラスの配列からこれらのステータスもロードします。それはそれを行う良い方法ですか?

任意の推奨事項も高く評価されます。

4

1 に答える 1

1

ajaxを介して物事を実行するレールの方法は:remote=>trueを使用しています。簡単な検索でかなりの数のチュートリアルが得られます。

非ajaxソリューションはこのように構成されている可能性があります。

 def index
    if params[:status] || params[:bid_amount]
         # Tailored Query
    else
         # Generic Query
    end
 end

意見

 <%= form_tag index_route_path do %>
     # Statuses that are pulled form symbolize via Model
     # Bid Amount Boxes
 <% end %>

 # Display query results 

また、列挙型https://github.com/nofxx/symbolizeを支援するために、gemSymbolizeをチェックアウトします 。

私たちが何をしようとしているのかはまだはっきりしていません。ユーザーがステータスを設定した内容に基づいて入札額ボックスにデータを入力する場合。フォーム送信onChangeをトリガーし、ヘルパーを使用してbid_amount値を入力できます。

于 2012-07-01T05:18:25.510 に答える