1

我有一个使用 railstutorial 作为模板构建的网站。我添加了一个搜索控制器以允许我执行站点搜索并将用户重定向到搜索视图。当我转到路径“/搜索”时,它符合预期(没有结果),但如果我实际使用搜索输入框,我将被注销并必须重新登录。这是什么原因造成的?

我的表格:

<form action="/search" method="POST" class="navbar-search pull-right">
    <input name="query" type="text" class="search-query" placeholder="Search">
</form>

我的搜索控制器:

class SearchController < ApplicationController
    def index
        unless params[:query].nil?
            @results = ThinkingSphinx.search params[:query]
        else
            @results = []
        end
    end
end

我的观点:

<% unless @results.empty? %>
    <table class="table">
        <% @results.each do |result| %>
            <tr>
                <% if result.class.name == "Event" %>
                    <td><%= link_to result.name, organisation_event_path(result.organisation, result.slug) %></td>
                    <td><%= result.summary %></td>
                <% end %>
            </tr>
        <% end %>
    </table>
<% else %>
    <p>No results found.</p>
<% end %>

我的路线:

match '/search', to: 'search#index'
4

1 回答 1

0

它与 CSRF 问题有关。您可以在此处阅读详细信息,或此SO question/answer

于 2012-05-17T14:57:10.293 回答