2016-11-09 2 views
0

Ich habe einen Agenten und ein Agent_review-Modell und ich versuche, eine Seite zu erstellen, auf der alle Bewertungen auf derselben Seite verfügbar sind. Ich habe ein Problem mit dem Agenten, der überprüft wird, und dem Namen des Rezensenten.Kein Methodenfehler - Name von Tabelle erhalten

ERB:

<div class="mega-container"> 
    <%= render 'matrix/listings/matrix_navigation' %> 
    <div class="standard-page-header"> 
     <h1>Agent Reviews</h1><br> 
     <hr> 
    </div> 
    <div class="text-center"> 
     <div class="container feedback-index"> 
     <% @agent_reviews.each do |agent_review| %> 
      <div class="row feedback-strip"> 
      <h3>Agent Name: <%= agent_review.agent.name %></h3> 
      <p>Review: <%= agent_review.comment %></p> 
      <p>Star Rating: <%= agent_review.rating %> of 5</p> 
      <p>Reviewer: <%= agent_review.reviewer.name %></p> 
      <p>Submitted: <%= agent_review.created_at.strftime('%D @ %l:%M%p') %></p> 
      </div> 
     <% end %> 
     </div> 
    </div> 
    </div> 

Schema:

create_table "agent_reviews", force: :cascade do |t| 
    t.integer "agent_id" 
    t.integer "reviewer_id" 
    t.text  "comment" 
    t.integer "rating" 
    t.datetime "created_at", null: false 
    t.datetime "updated_at", null: false 
end 

Controller:

def all_reviews 
    @agent_reviews = AgentReview.all 
end 

Modelle:

class Agent < ActiveRecord::Base 
    has_many :agent_reviews 
end 

class AgentReview < ActiveRecord::Base 
    belongs_to :agent, foreign_key: 'reviewer_id' 
end 

Antwort

1

In Ihrem AgentReview Modell:

belongs_to :reviewer, :class_name => 'Agent', :foreign_key => 'reviewer_id' 
belongs_to :agent, :class_name => 'Agent', :foreign_key => 'agent_id' 
0

Es ist wie Sie eine Zuordnung auf AgentReview

class AgentReview < ActiveRecord::Base 
    belongs_to :reviewer, class_name: "Agent", foreign_key: 'reviewer_id' 
    belongs_to :agent 
end 
sind vermisst schaut
Verwandte Themen