【问题标题】:Header Navbar Form URL issue in RailsRails 中的标题导航栏表单 URL 问题
【发布时间】:2018-01-18 20:01:51
【问题描述】:

我在标题导航栏中有一个搜索表单,以便用户始终可以使用它,但我无法将其发送到正确的控制器/操作。当它已经在搜索结果页面上时,它可以正常工作,当从它发送到当前页面的控制器/动作的任何其他页面使用时。我在这里Rails 4 Bootstrap Search Form in Navbar 发现了一个类似的问题,但我没有以同样的方式遇到这个问题,也没有帮助我。我哪里错了?

标题导航栏中的表单

<ul class="navbar-form navbar-left">
  <form class="form-inline">
    <%= form_tag(search_path, method: :get) do %>
      <%=select_tag :gender, options_for_select
        ([['Male & Female', 'All'],['Male', 'Male'], 
        ['Female', 'Female']]) %>
      <%= label_tag "Include unavailable" %>  
      <%= check_box_tag :unavailable %>
      <%= submit_tag "Search", class: "btn btn-success navbar-btn" %>
    <% end %>
  </form>
</ul>

路由

get  '/search', to: 'searches#search'

我尝试将表单构建为 form_for 和 form_tag 以及 URL 选项以强制正确的控制器/操作,但无济于事。它仅将表单参数附加到当前 url。

我错过了什么?

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    我想我现在看到了问题。

      <form class="form-inline">
        <%= form_tag(search_path, method: :get) do %>
    

    实际上是在您的页面上放置 两个 表单标签。您想摆脱外部 &lt;form&gt; 标记并在您的 form_tag 调用中添加 class: 'form-inline'

    你也想在那条路线上命名:

    get  '/search', to: 'searches#search', as: 'search'
    

    【讨论】:

    • 解决了! :-D 非常感谢。
    猜你喜欢
    • 2015-01-10
    • 1970-01-01
    • 2013-12-17
    • 2021-02-24
    • 1970-01-01
    • 2020-11-15
    • 2020-03-14
    • 2020-03-31
    • 2018-03-11
    相关资源
    最近更新 更多