【发布时间】:2011-05-06 18:54:47
【问题描述】:
我正在尝试在另一个视图中呈现设计编辑密码表单,因为我不想复制编辑密码逻辑。
我尝试了以下方法(在生成设计视图之后):
<%= render 'devise/passwords/edit' %>
<%= render 'devise/passwords/form' %>
还有许多其他的渲染变体似乎都给了我同样的错误:
"ActionView::MissingTemplate in foo#foo 缺少部分设计/密码/编辑..."
这种变化:
<%= render :file => 'devise/passwords/edit.html.erb' %>
给了我一些希望,但出现以下错误:
"# 的未定义局部变量或方法 `resource'"
围绕这条线:
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>
这让我觉得我很接近(因为那是我想要的表单中的代码)但该模板不应该使用隐藏的 Devise 控制器中的正确逻辑吗?还是我需要在路由文件中做一些事情才能让它工作?
我走远了吗?
【问题讨论】: