我是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
...