我有一个“新”页面,其中包含一个创建新学生的表格。在页面顶部,我想包含一个表格,上面写着“你有多少学生?” 并让用户输入它number_of_students
- 然后这个变量将被传递给表单 - 类似于
#{number_of_students}.times do
<%= form_for([@student_group, @student]) do |f| %>
...
<% end %>
<% end %>`
如何使 form_for number_of_students 在同一页面中使用?
编辑:
我使用了 georgebrock 的建议并做了以下事情:
首先我是howmany.rb
这样制作的:
class HowMany
include ActiveModel::Model
attr_accessor :number_of_things
IS_A_NUMBER = %q(1..1000)
validates :number_of_things, presence: true,
inclusion: {:in => IS_A_NUMBER,
:message = "%{value} is not a valid number of students" }
end
我进行了更改,以防我想将此模型用于其他情况 - 这种方式更通用一些。在我的控制器中,我这样做了:
def new
@student = @student_group.students.build
@how_many = HowMany.new
@title = "Add a student"
end
在“新”视图中,我有以下内容:
<p>
Use the form below to add your students.
</p>
<p>
First, how many students do you have in <%= "#{@student_group.name}" %>?
</p>
<p>
<%= form_for @how_many, url: request.fullpath do |form| %>
<%= form.text_field :number_of_things %>
<% end %>
</p>
但是,我收到以下错误:uninitialized constant StudentsController::HowMany