Недавно я установил devise_invitable
в свое приложение, в настоящее время я пытаюсь выяснить, как отобразить приглашение.
На мой взгляд, я пытаюсь получить полное имя пользователя, которыйотправил приглашение.
Я попробовал следующее:
Example.html.erb
<% @users.each do |user| %>
<%= user.fullname %> # Gives me the name of the user
<%= user.invited_by %> # Gives me ActiveRecord Association
<%= user.invited_by.fullname %> # Gives me an undefined method error
<% end %>
Я хотел бы добиться этого <%= user.invited_by.fullname %>
возможно ли это?
Миграция для devise_invitable
class DeviseInvitableAddToUsers < ActiveRecord::Migration[5.2]
def up
change_table :users do |t|
t.string :invitation_token
t.datetime :invitation_created_at
t.datetime :invitation_sent_at
t.datetime :invitation_accepted_at
t.integer :invitation_limit
t.references :invited_by, polymorphic: true
t.integer :invitations_count, default: 0
t.index :invitations_count
t.index :invitation_token, unique: true # for invitable
t.index :invited_by_id
end
end
def down
change_table :users do |t|
t.remove_references :invited_by, polymorphic: true
t.remove :invitations_count, :invitation_limit, :invitation_sent_at, :invitation_accepted_at, :invitation_token, :invitation_created_at
end
end
end
Модель пользователя
class User < ApplicationRecord
devise :invitable, :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable,
:confirmable, :omniauthable
validates :fullname, presence: true, length: { minimum: 4 }
validates_acceptance_of :terms_of_service
has_many :services
has_many :reservations
has_many :articles
has_many :lists
end