[英]Nested form in simple_form
我對RoR真的很陌生,我正在嘗試使用simple_form創建嵌套表單,但我一直看到出現此錯誤:
Forms#show中的NoMethodError
nil:NilClass的未定義方法“ model_name”
我看過這些鏈接,但無濟於事。 我還考慮過我是否有錯別字,或者在使用單/復數時犯了一個錯誤。
這是我的_form.html.erb
代碼,該錯誤似乎來自第一行:
<%= simple_form_for([@form, @customformd]) do |f| %>
<%= f.input :legislation, label: 'Which Act?' %>
<%= f.input :provision, label: 'Which provision?', collection: [ "Act A", "Act B", "Act C" ] %>
<%= f.input :RB, label: 'Referring Body', collection: [ "A", "B", "C", "D", "E", "F"] %>
<%= f.button :submit %>
<% end %>
這是我的customformd.rb
代碼:
class customformd < ApplicationRecord
belongs_to :form
end
這是我的customformds_controller
代碼:
class CustomformdsController < ApplicationController
def create
@form = Form.find(params[:form_id])
@cformftcd = @form.customformds.create(customformds_params)
redirect_to form_path(@form)
end
private
def customformd_params
params.require(:customformd).permit(:RB, :legislation, :provision)
end
end
這是show.html.erb
代碼中令人反感的部分的代碼片段:
<%= render @form.customformd %>
<h5>Add Custom Form D Specific Info:</h5>
<%= render 'customformds/form' %>
提前非常感謝您!
Forms#show中的NoMethodError
nil:NilClass的未定義方法“ model_name”
您呈現_form
部分中forms/show.html.erb
,所以一定要確保你已經定義@form
和@customformd
在forms#show
方法如下圖所示
#form_controller.rb
def show
@form = Form.find(params[:id])
@customformd = Customformd.new
end
此外, 類別名稱應以大寫字母開頭 (即, customformd
應該為Customformd
)
class Customformd < ApplicationRecord
belongs_to :form
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.