這是一段時間,因爲我只需要一個form_for
。Rails的form_tag不POSTing,在源頁面上獲得
現在我試圖設置一個管理區域搜索,其中搜索框位於菜單欄中。但不是POST到結果路徑,而是使用GET參數重新加載現有頁面,包括authenticity_token
。
所以我的設置:
的Gemfile
source 'https://rubygems.org'
ruby '2.2.3'
gem 'rails', '4.2.3'
# And so on....
的routes.rb
namespace :admin do
resources :results do #search results
collection do
get :display
end
end
# many more routes here
end
管理/ results_controller.rb
class Admin::ResultsController < ApplicationController
def display
@results = Elasticsearch::Model.search(params[:query], [Article]).paginate(page: params[:page], per_page: 30)
respond_to do |format|
format.html # index.html.erb
end
end
private
# Don't think this is really relevant, adding out of desparation
def result_params
params.require(:result).permit(:query)
end
end
在我的通用管理欄:
<%= form_tag(display_admin_results_path, method: :post) do %>
<%= text_field_tag :query, params[:query], {class: "form-control", placeholder: "Search"} %>
<span class="input-group-btn"><%= submit_tag "→".html_safe, class: "btn btn-success" %></span>
<% end %>
日誌不顯示重定向的跡象,丁目控制檯顯示沒有JavaScript的「博克」。
不提交該表格,並得到發送到/admin/results/display
甚至/admin/results/display?query=blah
我流汗
?utf8=✓&authenticity_token=j3w4dtBbFLzJzqWGZ9x4Q4GsUi%2FxmjYFrPjdzm8ccLKdxpOR0KwrX2hIAzXkR96cuTVgwG1sbYBKDdSO%2F3O6Wg%3D%3D&query=hello&commit=→
它一定是明顯的東西...在「衛生署」的時刻準備的。
這是你沒有使用的問題ajax請致電 –