我有一个表单,我从中选择college_ids。当我选择college_id时,执行查询并将结果发送到其他形式的不同方法。我想在单页中显示这两个表单。
这是我的表格
<%= form_tag(student_index_path, :method=>'get') do %>
<p>
College <br />
<%= select("get", "clg", College.all.collect {|p| [ p.name, p.id ] }) %>
</p>
<p>
<%= submit_tag 'Submit' %>
</p>
<% end %>
这是我的学生HTML
<%= form_tag(result_index_path, :method=>'get') do %>
<p>
Year <br />
<%= select("get", "stu", @students.collect {|p| [ p.name, p.id ] }) %>
</p>
<p>
<%= submit_tag 'Submit' %>
</p>
<% end %>
在我的控制器中:
def college
end
def student
@students = Student.where(:college_id => params[:get][:clg])
end
def result
@res = Data.where(:id => params[:get][:stu])
end
在我的result_path中,我从数据表中获取详细信息。
此代码正在运行。我正在尝试在同一页面显示大学和学生表单。我应该怎么做..
我已经尝试过使用ajax,但第二种形式即学生的形式依赖于大学形式。所以选择标签即&lt;%= select(“get”,“stu”,@ students.collect {| p | [ p.name,p.id]})%&gt;拥有在大学方法中定义的@students。
答案 0 :(得分:0)
此问题的最简单解决方案如下:
1)为学生表格制作部分内容,即_student_form.html.erb
2)使用ajax选择大学后,在同一页面上显示部分内容。最初制作
<div id="StudentForm"></div>
保持空白。将大学表格设为ajaxed,然后提交大学表格将上述部分学生表格添加到同一页面。
提交大学表格的行动的变更将收集大学身份并获得该大学的学生。