Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从另一个表访问属性-rails_Ruby On Rails - Fatal编程技术网

Ruby on rails 从另一个表访问属性-rails

Ruby on rails 从另一个表访问属性-rails,ruby-on-rails,Ruby On Rails,一个用户可以有很多导师,导师属于用户 class User < ApplicationRecord # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :re

一个用户可以有很多导师,导师属于用户

  class User < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable,
         :confirmable, :omniauthable

  validates :firstname, :lastname, presence: true
  has_many :mentors


  class MentorsController < ApplicationController
  before_action :set_mentor, except: [:index, :new, :create]
  before_action :authenticate_user!, except: [:show]
  before_action :is_authorised, only: [:lesson]
class用户
如何在用户页面上显示“导师课程”属性?我试图做一些类似“{@user.mentor.lesson}”的事情,但没有成功:(

谢谢,


Lily

如果一个用户有很多导师,那么
@User.mentors
将为您提供一个
ActiveRecord\u Associations\u CollectionProxy
,每个导师对应一条以上的记录。您可以访问每个导师,但要获得导师的特定属性,您需要迭代此集合,如:

@user.mentors.each do |mentor|
  puts mentor.lesson
end

你试图做的与你需要做的相反,因为一个导师属于一个用户,那么你可以
@mentor.user
获取特定用户并查询其属性,而无需迭代,但在你的情况下是访问导师的复数形式。

如果一个用户有许多导师,那么
@user.mentors
将ve您有一个
ActiveRecord\u Associations\u CollectionProxy
,每个Mentor对应一条以上的记录。您可以访问每个Mentor,但要获得Mentor的特定属性,您需要迭代此集合,如:

@user.mentors.each do |mentor|
  puts mentor.lesson
end

您试图做的与您需要做的相反,因为一个导师属于一个用户,那么您可以
@mentor.user
获取特定用户并查询其属性,而无需迭代,但在您的情况下,访问的是导师的复数形式。

我可以检查一下,我是否应该在页面中添加位吗(对不起,我是Rails新手)你试过了吗?用以下方式解决:谢谢!我可以检查一下我是否显示了这个我应该向页面添加位吗(对不起,我是Rails新手)你试过了吗?用下面的方法解决:谢谢!