当我运行查询时,Rails会将其记录下来

时间:2012-05-13 15:38:36

标签: ruby-on-rails-3 session

我有一个使用railstutorial作为模板构建的网站。我添加了一个搜索控制器,允许我执行网站搜索并将用户重定向到搜索视图。当我进入路径'/ search'时,它是预期的(没有结果),但如果我实际使用搜索输入框,我会退出并且必须重新登录。这会导致什么原因?

我的表格:

<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'

1 个答案:

答案 0 :(得分:0)

这与CSRF问题有关。您可以阅读details here或此SO question/answer