【问题标题】:Rails Access Object AttributeRails 访问对象属性
【发布时间】:2017-07-31 05:17:17
【问题描述】:

如何访问模型属性?

例如,用户模型。假设我想访问 User 对象的电子邮件部分。

看来我做不到

User.email

访问用户的电子邮件。

我想知道如何访问模型和控制器中的对象属性。

【问题讨论】:

  • 我不确定这是我的语法,还是我调用了错误的属性。我尝试检查 User.email != 'example@example.com' 是否出现无方法错误。
  • 您可以使用user=User.find(user_id)访问用户模型对象的电子邮件属性,然后user.email将返回ID为'user_id'的用户的电子邮件
  • 您访问的是用户类而不是用户实例。你可以先user = User.first 然后user.email。您必须先学习一些基础知识。
  • 谢谢!所以我会将 user_id 保存到变量 'user' 并在 user_id 上调用属性 email?
  • 如果我想以不同的模型访问 User.email。 user=User.find(user_id) 还能用吗?

标签: ruby-on-rails ruby ruby-on-rails-4


【解决方案1】:

要获取所有User 记录的电子邮件,您可以这样做

User.pluck(:email)

如果您想通过电子邮件发送特定用户对象,您可以这样做

User.find(1).email

其中1users 表中user 对象的id

我建议你阅读ActiveRecord查询接口以更好地理解。

【讨论】:

  • 我使用 'User.email' 作为一般示例。如果我想检查 User.first_name 或 Post.title 怎么办?
  • 在模型中,如果我想要当前的用户邮箱,我还会做 User.find(user_id).email 吗?
  • @ApplesandOranges 是的,您应该先获取当前用户,然后再获取该用户的电子邮件。你不能做User.emailUser.first_name
  • 谢谢!感谢您的帮助!
  • @Pavan 用户将根据您的评论参考模型。如果你把它变成小写会更好,我猜:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多