我正在查看此simple_form_for表单(注册表单)(registrations / new.html.erb)
转到用户/注册
<%= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
我已经浏览了github上的simple_form gem doc并查看了wiki。我还搜索了stackoverflow上的资源是什么?我认为我的问题更像是simple_form_for如何使用资源?我理解其余的代码不是这一行。我认为这个表单发布到registration_path。我没有registration_path,但我有一个
user_registration映射到注册#create方法
我的注册控制器继承了设计注册。
在我的路线中我有这个
devise_for :users, :controllers => {:registrations => "registrations"}
答案 0 :(得分:2)
resource
不是simple_form特定的,而是具体设计。它是DeviseController
中定义的方法,它获取存储在Devise模型的实例变量中的实际资源,即您的User
模型。
请参阅GitHub中的DeviseController class代码以检查资源方法。
在您自定义Devise::RegistrationsController
时,当您提交自定义RegistrationsController的表单create
时,系统会调用该操作。如果您没有覆盖自定义控制器中的create
操作,则调用将传播到父类I.e.,Devise::RegistrationsController#create