1

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

1 に答える 1

0

これはCSRFの問題に関連しています。詳細はこちら、またはこのSOの質問/回答で読むことができます。

于 2012-05-17T14:57:10.293 に答える