2012-01-02 174 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) %>