[英]Parameter Missing Ruby on Rails
當我嘗試創建操作時, 未在WelcomeController#create參數中找到ActionController :: ParameterMissing:歡迎控制器發布。 為什么會這樣呢?
這是控制器:
class WelcomeController < ApplicationController
def index1
@data = params[:text1]
@data1 = params[:text2]
end
def new
end
def create
render text: params[:post].inspect
@post = Welcome.new(post_params)
@post.save
redirect_to @post
end
private
def post_params
params.require(:post).permit(:text1,:text2)
end
def show
@post = Welcome.find(params[:id])
end
歡迎/ index.html.erb
enter code here
<%= form_tag('/welcome',method: :post,action: :show) do %>
<p>
<%= label_tag(:text1, "Enter Username :") %>
<%= text_field_tag(:text1, nil, placeholder: 'Enter UserName') %>
</p>
<p>
<%= label_tag(:text2, "Enter Password :") %>
<%= text_field_tag(:text2, nil, placeholder: 'Enter Password') %>
</p>
<p>
<%= submit_tag("Submit")%>
</p>
<% end %>
ActionController::ParameterMissing in WelcomeController#create param not found: post
這意味着您沒有將post對象傳遞到方法post_params中,因為它需要post對象。
params.*require(:post)*.permit(:text1,:text2)
請在查看頁面上檢查您的表格。
錯誤在於您使用行render text: params[:post].inspect
創建操作render text: params[:post].inspect
。 嘗試使用此代替:
render text: post_params.inspect
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.