使用 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>
我想通过 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>