我试图在另一个视图中呈现设计编辑密码表单,因为我不想重复编辑密码逻辑。
我尝试了以下操作(生成设计视图后):
<%= render 'devise/passwords/edit' %>
<%= render 'devise/passwords/form' %>
渲染上的许多其他变化似乎都给了我同样的错误:
“foo#foo 中的 ActionView::MissingTemplate
缺少部分设备/密码/编辑...”
这种变化:
<%= render :file => 'devise/passwords/edit.html.erb' %>
给了我一些希望,但出现以下错误:
“# 的未定义局部变量或方法‘资源’”
围绕这条线:
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>
这让我觉得我已经很接近了(因为这是我想要的表单中的代码),但是该模板不应该使用隐藏的 Devise 控制器中的正确逻辑吗?或者我是否需要在路由文件中执行某些操作才能使其正常工作?
我还差得远吗?
尝试这个:
<%= render :template => 'devise/passwords/edit',
:locals => {
:resource => my_user_model_variable,
:resource_name => my_user_model_name } %>
Where:
-
my_user_model_variable
可能current_user
-
my_user_model_name
可能"User"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)