如何将表演动作呈现为部分

时间:2019-07-02 21:55:37

标签: ruby-on-rails

我有一个搜索表。当我搜索记录时,结果将按预期到达显示页面,但我希望结果显示在同一页上的局部页面

我想创建一个局部部分,该局部部分将以表单的形式呈现show动作

这里是发货管理员

class shipmentsController < ApplicationController
  def show
   @shipment = Shipment.find_by_trackCode(params["trackCode"])
    unless @shipment.present? 
    end

 ......

家庭控制器index.html.erb

<%=render 'shipments/form' %>

Views / shipments / _form.html.erb

<%= form_tag search_path, :controller => 'shipments', :action => 'show',          :method => 'get' do %>
  <%= text_field_tag :trackCode %>
  <%= submit_tag 'Track' %>
 <% end %>

当前代码将在显示页面上显示结果,但我希望使用部分显示方式来呈现搜索结果,这样我就可以在使用部分局部表格的任何地方呈现它。

我该如何存档?

2 个答案:

答案 0 :(得分:0)

您真的确定使用show view作为局部视图是一个好主意吗?现在,如果您要...可以重命名文件_show.html.erb并通过文件夹名称<%= render'shipments / show'%>引用它,但是您还必须更改循环以调用模型Shipment .all.each而不是@shipment

答案 1 :(得分:0)

render template: 'shipments/show', locals: {shipment: @shipment}

在show.html.haml中使用可变装运代替@shipment