活动记录:使用用户ID获取用户的用户名

时间:2015-07-24 23:23:32

标签: mysql ruby-on-rails activerecord

我有这两个类:

class User < ActiveRecord::Base
  has_many :contents
end

class Content < ActiveRecord::Base
  belongs_to :user
end

这是我的schema.rb:

ActiveRecord::Schema.define(version: 20150723165743) do

  create_table "contents", force: :cascade do |t|
    t.string   "content"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer  "user_id"
  end

  create_table "users", force: :cascade do |t|
    t.string  "username"
    t.string  "password"
    t.string  "email"
    t.integer "content_count"
  end

end

我的问题是我如何能够获取并显示用户的用户名,我只从内容表中获得user_id。

我怎么会这样做呢?拥有用户的用户名来获取user_id,这样当我创建新内容时,我可以将用户的id添加到表中的user_id行。

非常感谢。

1 个答案:

答案 0 :(得分:1)

如果有机会,你应该看看ActiveRecord documentation

  

我的问题是我如何能够获得并显示用户   用户名,我只从内容表中获得user_id。

# assuming user_id is in a field called id:

@user = User.find(id)
puts "username is #{@user.username}"
  

我怎么会这样做呢?拥有用户的用户名   获取user_id,以便在创建新内容时我可以添加   用户对表中user_id行的id。

# assuming username is in a field called username:

@user = User.where("username = ?", username).first
puts "user id is #{@user.id}"