使用 Rails 3 通过 ajax 调用搜索值

Search value by ajax call using Rails 3

我想通过 ajax 使用 Rails 调用获取数据 3.I 有下面给出的表格。

views/users/new.html.erb

<%= form_for :user ,:url => {:action => "search" } do |f| %>
        <div class="input-group bmargindiv1 col-md-12"> <span class="input-group-addon text-left">Receipt No. Scan :</span>
        <%= f.text_field :user_no,:class => "form-control",placeholder:"user number" %>
    </div>
    <% end %>

此表单说明用户何时键入 user_no 并且一旦键入数字,搜索操作将 execute.A table 应出现在此表单下方以通过匹配显示其他数据根据下面给出的 user_no.That table

<table>
<tr>
<th>User Name</th>
<th>User Email</th>
<th>User Number</th>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>

此 table 将被隐藏 initially.Once 搜索将完成它将显示适当的数据。

下面是我的控制器页面。

controller/users_controller.rb

class UsersController < ApplicationController
 def new
  @user=User.new
 end 
 def search

 end
end

已保存在 DB.Please 中的所有数据(即用户号、姓名和电子邮件)帮助我使用 Rails Ajax 完成此任务并且数据应该显示而无需重新加载表单 submit.I 之后的页面正在使用 Rails 版本 3.2.19.

如果我理解正确,请尝试类似的操作:

在控制器中:

def search
  @user = User.find_by_user_no(params[:user_no])
end

查看表格:

<%= form_for :user ,:url => {:action => "search" }, remote: true do |f| %>
    <div class="input-group bmargindiv1 col-md-12"> <span class="input-group-addon text-left">Receipt No. Scan :</span>
       <%= f.text_field :user_no,:class => "form-control",placeholder:"user number" %>
    </div>
<% end %>

remote: true 表示请求将是异步的。

与table的观点:

<div id="search-output-table">
   <%= render partial: "search_output_table", locales: {user: @user} %>
</div>

app/views/users/_search.js.erb中:

$("#search-output-table").html("<%= escape_javascript( render(partial: "search_output_table") ) %>");

app/views/users/_search_output_table.html.erb中:

<table>
  <tr>
    <th>User Name</th>
    <th>User Email</th>
    <th>User Number</th>
  </tr>
  <tr>
    <td><%= user.name %></td>
    <td><%= user.email %></td>
    <td><%= user.number %></td>
  </tr>
</table>