用edit_resource_path作为Rails 5中的动作搜索表格



我有一个资源发票,每个发票都有一个编辑路径:

http://localhost:3000/Invoices/1/edit

在我的索引页面上,我所有的发票都希望拥有一个输入字段和一个提交按钮,以直接跳到"编辑"页面以获取某个发票:

<form class="form-inline" action="???" method="get">
       <div class="form-group">
         <input type="text" class="form-control date" placeholder="Invoice ID" name="id" >
       </div>
       <button type="submit" class="btn btn-info">Show</button>
</form>

我必须如何定义操作,以便如果我输入例如1并单击显示,则它向右移至我的编辑方法?

我想您正在寻找html中的类似东西

<%= form_tag find_invoice_url do |f| %>
    <%= f.text_field :invoice_number =>
    <%= f.submit "Search" =>
<= end =>

然后您需要添加路线

  post '/invoices/find_invoice', to: "invoices#find_invoice",
  as: "find_invoice"

然后在您的控制器中

之类的东西
def find_invoice
  invoice = Invoice.find_by_id(params[:invoice_number])
  if invoice
    redirect_to invoice_url(invoice.id) #whatever your edit route is
  else
    redirect_to root_url #anywhere really
  end
end

如果您在所有发票中迭代,则不需要输入字段。假设您有发票的斜视,您只会做

之类的事情
<%= form_tag edit_invoice_path(invoice), method: "get" do -%>
  <%= submit_tag "Show", class="btn btn-info" %>
<% end %>

您可能希望按钮表示编辑 - 这更多是UX的"最小惊喜原理"问题

最新更新