simple_form中的资源是什么?

时间:2014-03-23 01:20:17

标签: ruby-on-rails simple-form

我正在查看此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"}

1 个答案:

答案 0 :(得分:2)

resource不是simple_form特定的,而是具体设计。它是DeviseController中定义的方法,它获取存储在Devise模型的实例变量中的实际资源,即您的User模型。

请参阅GitHub中的DeviseController class代码以检查资源方法。

在您自定义Devise::RegistrationsController时,当您提交自定义RegistrationsController的表单create时,系统会调用该操作。如果您没有覆盖自定义控制器中的create操作,则调用将传播到父类I.e.,Devise::RegistrationsController#create