ruby-on-rails - 我应该如何添加用户配置文件和隐私来设计?

标签 ruby-on-rails devise code-organization performance user-profile

我有一个 Rails 3 devise 应用程序,其用户具有配置文件和隐私设置。我目前有这个工作,但担心效率,并且会喜欢有经验的 Rails 开发人员的建议。

我通过设计生成了用户模型,并构建了个人资料和隐私模型,以包含被认为不需要注册的项目。我希望用户有不同的设置链接。

帐户设置 => 设计 - 只需要登录类型、用户名、密码 个人资料设置 => 个人资料模型 - 描述、头像、生日等。 隐私设置 => 隐私模型 - 控制基本隐藏/显示用户个人资料字段的复选框。

我已经建立了我的关系:

用户.rb

has_one :profile
has_one :privacy

个人资料.rb

belongs_to :user

隐私.rb

belongs_to :user

这对我来说似乎非常低效。要显示个人资料,我依赖于加载三个表:用户、个人资料和隐私。

我认为 Profile 和 Privacy 中的所有表列都应该包含在 users 表中,这样会更有意义吗?我如何区分不同的表单?

我的一个想法是向用户 Controller 添加一个profile 方法和一个privacy 方法,这样我就可以在我的用户 View 中制作个人资料和隐私模板。用不同的形式控制每个人将编辑的用户记录的不同部分。

这有意义吗?这会比我目前拥有的单独脚手架更有意义吗?

最佳答案

我认为您的做法非常困难。只需添加用户个人资料页面

$ rails generate controller Users show

在你的 app/controllers/users_controller.rb 中

class UsersController < ApplicationController
  def show
    @user = User.find(params[:id])
  end
end  

在你的 app/views/users/show.html.erb

<h1><%= @user.name %></h1>

然后只需将您想要的内容添加到个人资料页面即可。

在你的 config/routes.rb 中

devise_for :users
get 'users/:id' => 'users#show', as: :user

希望这对用户配置文件有帮助

关于ruby-on-rails - 我应该如何添加用户配置文件和隐私来设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17767435/

相关文章:

android - 类转换的任何替代方法

ruby-on-rails - 设计和STI如何在注册时以基类身份登录

code-reuse - 组织、存储和跟踪代码以供重用

C++ 避免重新定义需要返回多态类型的代码

ruby-on-rails - Passenger 和 rbenv 问题 - 库版本不兼容

ruby-on-rails - 如何呈现 XML 模板,然后在 Ruby on Rails 3.2.8 中使用 SEND_DATA?

mysql - Rails mysql ELF header 错误

ruby-on-rails - 使用现有版本的 Ruby 在生产服务器上添加 RVM

ruby-on-rails - 仅在用户登录时显示页面? ruby /设计

javascript - AngularJS 最佳实践 - 风格指南