0
強參數我有此控制器Rails:param丟失或值爲空。在控制器
class StoresController < ApplicationController
before_filter :authenticate_business!, :except => [:index, :show]
def index
#@stores = Store.paginate(:page => params[:page])#, :per_page => 8)
if params[:query].present?
@stores = Store.search(params[:query], page: params[:page])
else
@stores = Store.all.page params[:page]
end
end
def show
@store = Store.friendly.find(params[:id])
if request.path != store_path(@store)
redirect_to @store, status: :moved_permanently
end
end
def new
@store = Store.new
end
def create
@store = Store.new(store_params)
@store.business_id = current_business.id
if @store.save
redirect_to @store
else
render 'new'
end
end
def edit
@store = Store.friendly.find(params[:id])
end
def update
@store = Store.friendly.find(params[:id])
if @store.update(store_params)
redirect_to @store
else
render 'edit'
end
end
def destroy
@store = Store.friendly.find(params[:id])
@store.destroy
redirect_to stores_url
end
private
def store_params
params.require(:store).permit(:name, :description, :address, :telephone, :email, :website)
end
end
和與表單創建一個新的存儲的圖。
<%= form_for @store do |f| %>
.......
code
......
<% end %>
的問題是,當我提交表單,它給了我這個錯誤「參數丟失或爲空值:店」,在指向行「params.require(:店).permit(:名稱,描述,地址,電話,電子郵件,網站)「
任何想法來解決這個問題? 謝謝。
您可以在提交表單時顯示來自瀏覽器的響應標題嗎?此外,你的表單中的字段與控制器中的參數相關嗎? – Jax 2014-10-02 11:14:25
是的,表單中的字段與'store_params'函數相同。 請求參數\t { 「UTF8」=> 「✓」, 「authenticity_token」=> 「vdBK16ZwnqAPWtqTOlNjA5lBIHnW9Vb5WkpbOYhoCrQ =」, 「提交」=> 「添加存儲」, 「行動」=> 「創建」, 「控制器」=> 「stores」} – 2014-10-02 11:23:02
在您發佈的內容之下,您應該看看您提交的內容是否具有任何值,它位於表單數據下,應該如下所示:name:xxxxxxx,description:xxxxxx,還要確保所有字段這個位對應於你允許的參數 – Jax 2014-10-02 11:28:09