在此工作幾個小時,沒有解決方案。 Whenenever我加載的新verbalquestion
的資源,我填寫表格並點擊提交,我得到的錯誤:ActionController::ParameterMissing at /verbalquestions param is missing or the value is empty: verbalquestions
Rails 5:param丟失或者值爲空:verbalquestions
verbalquestions_controller.rb
class VerbalquestionsController < ApplicationController
before_action :authenticate_user!
def index
@verbalquestions = Verbalquestion.all
if params[:tag]
@verbalquestions = Verbalquestion.tagged_with(params[:tag])
else
@verbalquestions = Verbalquestion.all
end
end
def new
@title = "Add a new VQ"
end
def show
@verbalquestion = Verbalquestion.friendly.find(params[:id])
end
def create
@verbalquestion = Verbalquestion.new(verbalquestion_params)
@verbalquestion.user = current_user
end
end
private
def verbalquestion_params
params.require(:verbalquestions).
permit(
:vq_title,
:vq_text,
:tag_list
)
end
verbalquestions/new.html。 ERB
<%= form_with scope: :verbalquestion, url: verbalquestions_path do |f| %>
<div class='field'>
<%= f.label :tag_list, 'Tags (separated by commas)' %><br/>
<%= f.text_field :tag_list %>
</div>
<div class="field">
<%= f.label "Verbal Question Title", :class=>'label' %>
<div class="control">
<%= f.text_field :vq_title, :id => 'vq_title', :class => 'textarea' %>
</div>
</div>
<div class="field">
<%= f.label "Verbal Question Test", :class=>'label' %>
<div class="control">
<%= f.text_area :vq_text, :id => 'vq_text', :class => 'textarea' %>
</div>
</div>
<p>
<%= f.submit %>
</p>
<% end %>
我到底做錯了什麼?
但是控制器的參數設置是這樣的:'private def verbalquestion_params params.require(:verbalquestions)。 許可證( :vq_title, :vq_text, :tag_list ) end' 此外,的form_for不會,因爲它是一個Rails 5.1的應用程序做任何事情。我該怎麼辦? – mazing
正如我已經回覆,添加'@ verbalquestion = Verbalquestion.new()'到你的控制器的'新'方法。 此外,您可以在您的視圖中使用'form_for @ verbalquestion'或在您的選擇中使用'form_with model:@ verbalquestion'。 – alex
我已經完成了所有這一切,它不起作用。它仍然說'ActionController :: ParameterMissing at/verbalquestions param is missing or the value is empty:verbalquestions' – mazing