如何在 Rails 上将用户名添加到 Ruby 中的预订

How to add user name to reservation in Ruby on Rails

我创建了一个预订资源。我实现了 Devise,所以当你想创建一个新的预订时,你必须登录或创建一个帐户。我想要的是在创建预订时,将当前用户的用户名分配给它,这样我就可以按用户名过滤预订。

您想使用协会,请在此处查看:https://guides.rubyonrails.org/association_basics.html

在您的 reservations table 上,您可以通过 user_id 添加对用户 table 的引用,然后有一个 belongs_to :user

然后您可以在任何需要的地方通过 reservation.user.name 显示用户名。

要添加引用,运行 如下:rails g migration AddUserToReservations user:references

这将生成以下内容:

class AddUserToReservations < ActiveRecord::Migration
  def change
    add_reference :reservations, :user, index: true
  end
end

和 运行 您的迁移 rails db:migrate

然后,要将用户分配给预订,您应该在 reservations_controller.rbcreate 操作中添加这样一行:

if @reservation.save
  @reservation.user = current_user