Ajax和Ruby on Rails

时间:2012-01-02 09:54:37

标签: ruby-on-rails ruby ajax get

好的,我在控制器中有这个查询

    @number1 = 3
    @number2 = 6
    @itemsok = Contribution.where("first_item_id = ?",@number1).where("first_item_grade = ?",@number2)

我还有2个变量应该使查询“自定义”(现在不是)...问题是,如何将用户输入保存到变量中,以便它可以“动态”...

我认为一种方法是使用这样的按钮创建fom:

<%= button_to 'All perfect', contribution_path(:id=> contribution.number1),
                    :remote => true %>

但是我如何在Rails中监听这个事件?

我完全迷失了。 谢谢!

1 个答案:

答案 0 :(得分:1)

因此,如果我理解您的问题,您希望用户能够在表单中输入值,然后在控制器中使用该表单来搜索数据库中的数据吗?

如果是这样,您应该从视图中的表单开始,例如:

<%= 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("Search") %>
<% end %>

如果您的路线设置正确,则会将参数发送到您的控制器,以便您可以像这样使用它们:

@number1 = params[:number1]
@number2 = params[:number2]
@itemsok = Contribution.where(:first_item_id => @number1).where(:first_item_grade => @number2)