我是Ruby on Rails的新手。我已经在resources_controller
文件中看到,只要您拨打resources#new
,我就会看到包含表单的new.html.haml
文件。当我点击Submit
按钮时,它会向我重定向上述create
文件的resources_controller.rb
功能。谁能解释我怎么样?其实我想做这样的事情:
我想仅在具有给定卷号的学生不存在时才创建新学生。
因为new.html.haml
包含一个表单,其中只有一个滚动号码字段,如果该滚动号码的学生不存在,那么应该调用一个新的haml,其中将有另一个表单,其中一个将输入学生详细信息只有在提交后一种形式后才能调用create。当学生已退出表格时,应自动填写。
我无法弄清楚如何执行此操作,因为无论何时单击new.html.haml
中表单中的提交按钮,它都会重定向我始终创建。
答案 0 :(得分:0)
你可以简单地在资源#create函数之上添加一些代码来检查数字是否与现有记录相对应。
如果它对应于现有的,您将用户重定向到相应的编辑页面(看起来像/ resources /:id / edit),以便他可以填写扩展表单。
如果是新记录,则继续进行常规治疗。
因此,您必须添加一个看起来像这样的代码
resources_controller.rb
def create
if !(resource = Resource.find(params[:id])).blank?
redirect_to edit_resource_url(resource)
end
...