2012-01-02 15 views
0

私がしたいことは、フォーム内のフィールドの値をコントローラに渡して、dbでカスタムクエリを作成することです。私は何かが不足していると思うが、私は何が見えないのだろう。Ruby on rails変数AJAX

これは私のコントローラ

def index 

    @contributions = Contribution.all 
    @number1 = params[:number1] 
    @number2 = params[:number2] 
    @itemsok = Contribution.where("first_item_id = ?",@numer1).where("first_item_grade = ?",@numer2) 


    respond_to do |format| 
     format.html # index.html.erb 
     format.json { render json: @contributions } 
    end 

これはビュー

<%= form_tag(contribution_path, :method => "get") do %> 
    <%= label_tag(:number1, "Number 1:") %> 
    <%= text_field_tag(:number1) %> 
    <%= label_tag(:number1, "Number 2:") %> 
    <%= text_field_tag(:number2) %> 
    <%= submit_tag("Searcs") %> 
<% end %> 

であり、これは

get 'contribution' => 'contributions#index', :as => 'contribution' 

routes.rbをしてラインでは、どうもありがとうございました。

+0

コントローラのタイプミスのようです。 '@ numberX'変数を代入していますが、クエリでは' @ numerX'を使用しています。 –

答えて

1

フォームタグに:remote => trueを追加して、ajax経由でサブミットし、コントローラーアクションでrespond_to format.jsを確認します。

<%= form_tag(contribution_path, :remote => true) %>