Ruby on Rails 4、Devise 和配置文件页面

2023-12-10

我是编码新手,所以这可能是一个简单的问题。

我大约一个月前开始使用 RoR。不幸的是,我遇到了坎坷,似乎无法克服。我尝试过查看其他 SO 问题来寻求帮助,但我仍然是新手,所以编码建议对我来说仍然有点陌生。我希望有人能用更适合新手的术语来表述。

我想做的是让我的网站为每个注册的用户建立一个个人资料。这将是只有用户和管理员才能访问的私人配置文件。用户注册/登录后,我希望他们被重定向到他们的个人资料,他们可以在其中编辑年龄和体重等信息。

在过去的三天里,我一直在尝试弄清楚如何为每个新用户创建个人资料页面。我查看了 Devise github 自述文件,但我仍然感到困惑。

我已经生成了一个用户控制器和用户视图,但我什至不知道是否需要执行这些步骤,因为我已经设计了。你们能给我的任何帮助将不胜感激。

这是我的 github 页面的链接 -https://github.com/Thefoodie/PupPics

谢谢


除了 Kirti 的回答之外,你实际上需要有一个profile重定向到:

Models

#app/models/profile.rb
Class Profile < ActiveRecord::Base
    belongs_to :user
end

#app/models/user.rb
Class User < ActiveRecord::Base
    has_one :profile
    before_create :build_profile #creates profile at user registration
end

Schema

profiles
id | user_id | name | birthday | other | info | created_at | updated_at

Routes

#config/routes.rb
resources :profiles, only: [:edit]

控制器

#app/controllers/profiles_controller.rb
def edit
   @profile = Profile.find_by user_id: current_user.id
   @attributes = Profile.attribute_names - %w(id user_id created_at updated_at)
end

View

#app/views/profiles/edit.html.erb
<%= form_for @profile do |f| %>
    <% @attributes.each do |attr| %>
       <%= f.text_field attr.to_sym %>
    <% end %>
<% end %>

然后你需要使用after_sign_in_pathKirti 发布的内容


Updated

这是您要使用的迁移:

# db/migrate/[[timestamp]]_create_profiles.rb
class CreateProfiles < ActiveRecord::Migration[5.0]
  def change
    create_table :profiles do |t|
      t.references :user
      # columns here
      t.timestamps
    end
  end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby on Rails 4、Devise 和配置文件页面 的相关文章

随机推荐

  • Typescript:与先前参数的解析类型相同的泛型类型

    我想知道 当类型可以是多种类型时 如果与前一个参数的解析类型相同 如何指定该泛型类型 TypeScript 游乐场 function add
  • Python 正则表达式未按预期工作

    我已经制作了这个正则表达式
  • 使用 OpenCV 平移和旋转 3D 图像

    给定 3 x 3 旋转矩阵 R 和 3 x 1 平移矩阵 T 我想知道如何将 T 和 R 矩阵乘以图像 假设 Iplimage img 为 640 x 480 我想做的是R T img 我正在考虑使用 cvGemm 但这不起作用 您正在搜索
  • Bootstrap 5 --bs-gutter-x 添加了 1.5rem,这使得规则和其他元素悬而未决

    我标记了代码 但大图是这种风格 bs gutter x 1 5rem 从 grid scss 6 添加 添加样式来覆盖 bs gutter x 0rem 不修复它 我见过其他人也遇到过这个问题 但还没有看到解决这个问题的解决方案 这是错误报
  • 如何从 pygtk 的条目中删除突出显示?

    我创建了一个小型 GUI 当它启动时 我创建的 第一个 gtk Entry 始终突出显示 在一系列条目中 本质上 我是这样创建它的 my entry gtk Entry 1 my entry set width chars 1 my ent
  • psql 返回值/错误杀死调用它的 shell 脚本?

    我正在运行几个psqlbash shell 脚本中的命令 其中一个命令将 csv 文件导入到表中 问题是 CSV 文件偶尔会损坏 末尾有无效字符 并且导入失败 当这种情况发生时 我就有了ON ERROR STOP on如果设置了标志 我的整
  • Google 任务更新错误

    我正在尝试使用以下代码更新任务 function updtsk task id var url https www googleapis com tasks v1 lists default tasks id var req method
  • 如何强制AWS ECS将容器迁移到另一个ASG?

    我使用 user data 对 ECS 中使用的主机进行初始配置以运行容器 我希望能够在更新 user data 后告诉 AWS ECS 将容器迁移到新创建的主机 我怎样才能做到这一点 我正在使用 Terraform 进行 AWS 基础设施
  • 在 Coq 中使用我自己的 == 运算符重写策略

    我试图直接从字段的公理证明简单的字段属性 经过对 Coq 原生现场支持的一些实验 像这个 我决定最好简单地写下 10 条公理并使其自成一体 我在需要使用的时候遇到了困难rewrite与我自己的 运算符自然不起作用 我意识到我必须添加一些我的
  • 如何深入LDAP树查找可以在Spring LDAP Security中进行身份验证的用户

    我想使用 Spring Security LDAP 身份验证 不过我想递归地遍历 ldap 树 不幸的是 我只能找到一个级别或深度的用户 例如 我的用户树如下所示 ouUsers 有用户 user1 user2 等 和子树 ouGenel
  • 带时区的 Java 日期验证器

    当日期中包含 EDT EST 时 我们是否有任何 API 来验证日期是否有效 我尝试过 Joda Java SimpleDateFormat 但我无法解析日期 以下是我收到的示例格式 2017 09 25 16 18 15 099 0400
  • 检查 json 响应是数组、整数还是字符串作为键?

    我收到 json 响应 其中 products 键有时具有 int 值 有时它具有数组 如何检查它是否有数组或Int products 25 or products 77 80 81 86 我正在用这个 self productsCount
  • Django/Python:在模板中显示 pdf

    我在 python 2 7 中使用 django 1 8 我想在模板中显示 pdf 才知道 感谢MKM 的回答我将其呈现在整页中 你知道如何渲染吗 这是我的代码 def userManual request with open C User
  • 使用正则表达式删除CSS注释

    如何使用 CSS 删除注释Regex Replace 注意 我无法使用 C 中提到的正则表达式 正则表达式删除CSS注释 这通常就足够了 假设cssLines是一个包含 CSS 文件所有行的字符串 Regex Replace cssLine
  • 将二维数组传递给常量参数的函数

    我从中学到了C 底漆 如果你想保护数组不被函数意外修改 你应该添加const函数定义头中指针声明之前的修饰符 遵循这个明智的建议 在下面的最小示例中 我尝试传递一个非常量二维数组array到函数Sum2D 其中一个参数是pointer to
  • 如何在 JTable 中创建翻转效果?

    在我的应用程序中 我想使用 JTable 的行创建翻转效果 例如 当鼠标进入该行时 该行的背景颜色会发生变化 反之 当鼠标退出该行时 该行的颜色将恢复正常 我怎样才能做到这一点 使用下面的代码 它将让您了解如何对 JTable 的行应用翻转
  • TabWidget 之间的分隔线

    TabWidget下的android divider属性是否有效 我尝试了 android 的选项卡布局教程只是为了测试 http developer android com resources tutorials views hello
  • JavaScript 中按字符串属性值对对象数组进行分组?

    我讨厌这个对象数组 每个对象都有一个日期 我希望能够将这些对象分组为月份 有没有办法转换这个 var data date 2016 08 13 date 2016 07 23 date 2016 08 11 date 2016 08 10
  • 指定的演员阵容无效#3

    我遇到这个问题 我收到 指定的转换无效 Visual Studio 内的错误列表中没有错误 这个错误可能来自我的 Access 数据库吗 private void Submit Click object sender EventArgs e
  • Ruby on Rails 4、Devise 和配置文件页面

    我是编码新手 所以这可能是一个简单的问题 我大约一个月前开始使用 RoR 不幸的是 我遇到了坎坷 似乎无法克服 我尝试过查看其他 SO 问题来寻求帮助 但我仍然是新手 所以编码建议对我来说仍然有点陌生 我希望有人能用更适合新手的术语来表述