微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用于编辑用户设置的自定义视图 |未定义的方法`user_path'

如何解决用于编辑用户设置的自定义视图 |未定义的方法`user_path'

使用 devise gem,我希望能够编辑用户设置,而无需用户每次都输入密码,特别是考虑到他们通过 omniauth 注册后不知道自己的密码。

按照创作者的建议,我创建了一个单独的控制器:

class SettingsController < ApplicationController
  def edit
    @user = current_user
  end
end

添加了一条路线...

get 'settings',to: 'settings#edit',as: 'user_settings'

...并创建了一个视图:

<h1>Settings</h1>


<%= simple_form_for(@user) do |f| %>
  <%= f.input :email %>
  <%= f.input :name %>
  ...
  <div class="form-actions">
    <%= f.button :submit,"Update" %>
  </div>
<% end %>

<h3>Cancel my account</h3>

<p>Unhappy? <%= link_to "Cancel my account",registration_path(resource_name),data: { confirm: "Are you sure?" },method: :delete %></p>

<%= link_to "Back",:back %>

不幸的是,这仅仅导致了以下错误

NoMethodError in Settings#edit
undefined method `user_path' for #<#<Class:0x00007fcf53c00290>:0x00007fcf53c0a790>

Extracted source (around line #4):
<%= simple_form_for(@user) do |f| %>
  <%= f.input :email %>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。