2017-09-22 18 views
1

ユーザーは多くのメンターを持つことができ、メンター・グラフィックスは、ユーザーアクセスは、別のテーブルから属性 - レール

私は、ユーザーのページにメンターレッスン属性を表示するにはどうすればよい
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] 

に属していますか?私は、「} #{@user.mentor.lesson」のような何かをしようとしたが、それは:(動作しません。

ありがとう、

リリーは

答えて

0

ユーザーは、多くの指導者を持っている場合には、 @user.mentorsは、各メンターに対応する1つの以上のレコードで、あなたにActiveRecord_Associations_CollectionProxyを与えるあなたが各それらにアクセスすることができますが、あなたはこのコレクションを反復処理する必要があるメンター・グラフィックスの特定の属性を取得するには、のように:。

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

何しようとするのは、 1人のメンターが1人のユーザーに属している場合は、@mentor.userを取得し、特定のユーザーを取得し、その属性を繰り返し処理することなく照会できますが、複数のメンターにアクセスする場合があります。

+0

ページにビットを追加する必要があるかどうかを確認することはできますか(ごめんなさい、私はRailsを初めて使用しています) <%@ user.mentors.each do | mentor | %> <%puts mentor.lesson%> <% end %> – Lily

+0

試しましたか? –

+0

は次のように処理されます。 <%@ user.mentors.each do | mentor | %> <%= "#{mentor.knowledge}"%> <% end %>ありがとうございました! – Lily

関連する問題