在Rails中渲染ajax查询

时间:2012-01-10 00:56:24

标签: ruby-on-rails ruby ajax jquery

我尝试渲染Ajax查询,但我不知道如何。

这是表格:

<%= form_tag(root_path, :method => "post",:id =>"formid", :remote => true) do %>
  <%= label_tag(:number1, "El que quiero") %>
  <%= text_field_tag :quiero, nil, :class => 'drug_autocomplete' %>
  <%= hidden_field_tag :number1 %>

  <%= label_tag(:number1, "El modelo que tengo") %>
  <%= text_field_tag :tengo, nil, :class => 'drug_autocomplete' %>
  <%= hidden_field_tag :number2 %>

  <%= label_tag(:size1, "Talla de el que tengo") %>
  <%= text_field_tag :size1%>

  <%= submit_tag("Do it!",:id =>"submit_but") %>

<% end %>

这几乎就是控制器

def index
    size1 = params[:size1]
    number1 = params[:number1]
    number2 = params[:number2]
    quiero = params[:quiero]
    tengo = params[:tengo]

if (item1 and item2)

      @itemsok = Contribution.where("first_item_id = ?",item1.id).where("second_item_id = ?",item2.id).where("second_item_grade = ?",size1)

      end

好的,所以当我按下按钮发送时,我可以看到正在进行数据库中的咨询,当我写出正确的值时,它返回它并且一切正常。

我不知道该怎么做是从查询中呈现项目。 在视图中我有一个表格,我想填写信息... 我已经在没有AJAX的情况下完成了它,就像这样。

<%if not @itemsok.nil? 
  @itemsok.each do |searches|
%>
<table>
<tr>
  <td style="width:100px;"><%= searches.first_item.description %>  </td>
  <td style="width:150px; font-size:30px;"><%= searches.first_item_grade %>  </td>


  <td style="width:150px;"><%= searches.second_item.description %> </td>
  <td style="width:150px; font-size:30px;"><%= searches.second_item_grade %>  </td>
  <td style="width:150px; font-size:18px;"><a href="<%= contribution_path(searches.id) %>">Show</a>  </td>


</tr>
</table>

好的,所以它需要控制器中的变量,如果不是nill,它会渲染数据(在正常请求中,我可以访问重新加载页面)

如何从查询中呈现项目? 任何提示都将非常感激。 谢谢。

1 个答案:

答案 0 :(得分:1)

例如,_ search.html.erb

<%if not @itemsok.nil? 
  @itemsok.each do |searches|
%>
<table>
<tr>
  <td style="width:100px;"><%= searches.first_item.description %>  </td>
  <td style="width:150px; font-size:30px;"><%= searches.first_item_grade %>  </td>


  <td style="width:150px;"><%= searches.second_item.description %> </td>
  <td style="width:150px; font-size:30px;"><%= searches.second_item_grade %>  </td>
  <td style="width:150px; font-size:18px;"><a href="<%= contribution_path(searches.id) %>">Show</a>  </td>


</tr>
</table>

search.js.erb

$('#container').html("<%= escape_javascript(render :partial => 'search/search')%>");