Ruby on rails 嵌套表单错误-ArgumentError(参数数目错误(0代表1)):
我按照这个屏幕广播制作了一个嵌套的模型表单。 现在,我正在尝试我的应用程序包含这样一个嵌套的模型表单,但我收到了一个参数错误(参数数量错误(0代表1)) 我似乎不知道我哪里出了问题,我想就我可以尝试什么以及为什么会发生错误寻求一些建议 错误发生在主题模型的这一行Ruby on rails 嵌套表单错误-ArgumentError(参数数目错误(0代表1)):,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.2,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,我按照这个屏幕广播制作了一个嵌套的模型表单。 现在,我正在尝试我的应用程序包含这样一个嵌套的模型表单,但我收到了一个参数错误(参数数量错误(0代表1)) 我似乎不知道我哪里出了问题,我想就我可以尝试什么以及为什么会发生错误寻求一些建议 错误发生在主题模型的这一行 has_many :lessons, :dependent => destroy 其他相关代码: 受试者控制员: def new @subject = Subject.new #3 times one fo
has_many :lessons, :dependent => destroy
其他相关代码:
受试者控制员:
def new
@subject = Subject.new
#3 times one for lecture one for lab one for tut.
3.times{@subject.lessons.build}
respond_to do |format|
format.html # new.html.erb
format.json { render json: @subject }
format.js
end
end
主题模式
class Subject < ActiveRecord::Base
has_many :lessons, :dependent => destroy
attr_accessible :lesson_attributes, :acad_unit, :cohort_size, :discipline, :remarks, :subject_code, :subject_name, :year_of_study
accepts_nested_attributes_for :lessons, :reject_if => lambda { |a| a[:lesson_type].blank? }, :allow_destroy => true
end
类主题破坏
属性可访问:课程属性、学术单位、队列大小、学科、备注、科目代码、科目名称、学习年份
接受_嵌套的_属性_for:lessons、:reject_if=>lambda{a | a[:lesson_type].blank?}、:allow_destroy=>true
结束
课程模式
class Lesson < ActiveRecord::Base
belongs_to :subject
attr_accessible :frequency, :lesson_type, :no_of_lesson, :possible_venues
end
课程
_form.html.erb
<%= form_for(@subject,:remote=>true) do |f| %>
<% if @subject.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@subject.errors.count, "error") %> prohibited this subject from being saved:</h2>
<ul>
<% @subject.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :subject_code %><br />
<%= f.text_field :subject_code %>
</div>
<div class="field">
<%= f.label :subject_name %><br />
<%= f.text_field :subject_name %>
</div>
<div class="field">
<%= f.label :year_of_study %><br />
<%= f.text_field :year_of_study %>
</div>
<div class="field">
<%= f.label :discipline %><br />
<%= f.text_field :discipline %>
</div>
<div class="field">
<%= f.label :acad_unit %><br />
<%= f.text_field :acad_unit %>
</div>
<div class="field">
<%= f.label :cohort_size %><br />
<%= f.text_field :cohort_size %>
</div>
<div class="field">
<%= f.label :remarks %><br />
<%= f.text_field :remarks %>
</div>
<ol>
<%= f.fields_for :lessons do |builder| %>
<%= render "lesson_fields", :f => builder %>
<% end %>
</ol>
<% end %>
true)do | f |%>
禁止保存此主题:
建筑商%>
_lesson_fields.html.erb
<p>
<div class="field">
<%= f.label :lesson_type %><br />
<%= f.text_field :lesson_type %>
</div>
<div class="field">
<%= f.label :no_of_lesson %><br />
<%= f.text_field :no_of_lesson %>
</div>
<div class="field">
<%= f.label :frequency %><br />
<%= f.text_field :frequency %>
</div>
<div class="field">
<%= f.label :possible_venues %><br />
<%= f.text_field :possible_venues %>
</div>
</p>
我想你想要:
has_many :lessons, :dependent => :destroy
?
你会发现关于这个话题的讨论很精彩。我想你想要:
has_many :lessons, :dependent => :destroy
?
您会发现关于该主题的讨论非常精彩。错误:在哪个文件、哪一行。。。从你的stacktrace中看到..这一行:has_many:lessons,:dependent=>destroy这是完整的堆栈跟踪。ArgumentError(错误的参数数(0代表1)):app/models/subject.rb:2:in
'app/models/subject.rb:1:in
'app/controllers/subjects\u controller.rb:1:in``错误在哪个文件,哪一行。。。从你的stacktrace中看到..这一行:has_many:lessons,:dependent=>destroy这是完整的堆栈跟踪。ArgumentError(参数数目错误(0代表1)):app/models/subject.rb:2:in'app/models/subject.rb:1:in
'app/controllers/subjects\u controller.rb:1:in`'要澄清,这里的问题是缺少:销毁时。要澄清,这里的问题是缺少:销毁时。