0

我想在另一个视图中显示设计用户提供的内容。

Homeprivate/profile.html.erb:

<%= render "devise/registrations/edit" %>       

我刚刚将默认编辑视图转换为部分视图。为了支持用户作为“资源”使用,我有以下助手。

module HomeprivateHelper
 def resource_name
  :user
 end

 def resource
   @resource ||= User.new
 end

 def devise_mapping
  @devise_mapping ||= Devise.mappings[:user]
 end
end

但是,如果我登录并转到 /homeprivate/profile - 我看到所有字段都是空的。不知何故,当前用户未映射到表单。如果当前用户显示在自定义视图中,如何将当前用户映射到配置文件视图?似乎使用了 User.new,而不是当前用户。

4

1 回答 1

0

我对 Rails 很陌生,但我遇到了同样的问题并想出了如何填充那些空白字段。在您的助手中,而不是user.new使用current_user. 它应该如下所示:

def resource
@resource ||= current_user
end

那应该行得通。

于 2012-11-22T21:58:56.197 回答