[英]rails 4: param is missing or the value is empty
我有以下兩種形式
<%= form_for(@customer) do |f| %>
<%= f.submit %>
<% end %>
第二種形式
<%= form_tag(customers_path, {:multipart => true, :method => :post } ) do%>
<%= submit_tag I18n.t('views.import_customers_submit') %>
<% end%>
兩種形式都可以創建客戶控制器的動作。 在創建操作時,只需保存@customer
對象。
白列出的參數是
def customer_params
params.require(:customer).permit(:name)
end
現在的問題是,當我提交我的第一份表格時,我沒有收到任何錯誤。 但是當我提交第二份表格時,我得到了這個錯誤
param is missing or the value is empty: customer
錯誤指向白名單方法
def customer_params
params.require(:customer).permit(:name)
end
我了解這是因為,對於第一種形式,params是以params [:customer] []的形式提交的,但是對於第二種形式,則不予維護。 因此,我該如何使它適用於第二種形式。 第二種形式,我要做的就是導入文件。
您的form_tag似乎沒有任何@customer數據。
您控件中的customer_params
方法期望在帖子有效負載中發送customer [name]。
包括類似<%= text_field_tag(@customer.name) %>
,它應該可以工作。
詳細信息-> http://guides.rubyonrails.org/form_helpers.html#a-generic-search-form
試試下面的代碼,希望它對您有用。
<%= form_tag(customers_path(:name => @customer.name), {:multipart => true, :method => :post } ) do%>
<%= submit_tag I18n.t('views.import_customers_submit') %>
<% end%>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.