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



我是Ruby on Rails的新手。我已经看到,在resources_controller文件中,无论何时调用resources#new它都会让我进入包含表单new.html.haml文件。当我单击Submit按钮时,它会将上述resources_controller.rb文件的create功能重定向到我。谁能解释我怎么做?实际上我想做这样的事情:

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

我不知道该怎么做,因为每当我单击new.html.haml表单中的提交按钮时,它总是重定向我来创建。

您可以简单地在资源#create函数中添加一些代码来检查该数字是否与现有记录相对应。

如果它对应于现有页面,您可以将用户重定向到相应的编辑页面(看起来像/resources/:id/edit),以便他可以填写扩展表单。

如果是新记录,请继续常规治疗。

因此,您必须添加如下所示的代码

resources_controller.rb

def create
  if !(resource = Resource.find(params[:id])).blank?
    redirect_to edit_resource_url(resource)
  end
  ...

最新更新