2012-01-02 122 views
0

我想要做的是將窗體中的字段的值傳遞給控制器​​,以便我可以在數據庫中進行自定義查詢。我認爲缺少一些東西,但我不明白。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 %> 

而且這是在routes.rb中

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

非常感謝你行。

+0

看起來像控制器中的錯字。您正在分配'@ numberX'變量,但在查詢中使用'@ numerX'。 – 2012-01-02 12:44:27

回答

1

:remote => true添加到表單標籤以使其通過ajax進行提交,並確保在控制器操作中對respond_toformat.js進行響應。

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