从资源控制器中的新功能重定向

时间:2013-09-08 06:38:21

标签: ruby-on-rails forms haml actioncontroller

我是Ruby on Rails的新手。我已经在resources_controller文件中看到,只要您拨打resources#new,我就会看到包含表单的new.html.haml文件。当我点击Submit按钮时,它会向我重定向上述create文件的resources_controller.rb功能。谁能解释我怎么样?其实我想做这样的事情:

我想仅在具有给定卷号的学生不存在时才创建新学生。 因为new.html.haml包含一个表单,其中只有一个滚动号码字段,如果该滚动号码的学生不存在,那么应该调用一个新的haml,其中将有另一个表单,其中一个将输入学生详细信息只有在提交后一种形式后才能调用create。当学生已退出表格时,应自动填写。

我无法弄清楚如何执行此操作,因为无论何时单击new.html.haml中表单中的提交按钮,它都会重定向我始终创建。

1 个答案:

答案 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
  ...