簡體   English   中英

參數缺少Ruby on Rails

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM