Je suis nouveau sur les rails et j'ai besoin de conseils. Je suis sûr d'avoir mal compris quelque chose d'évident.Partiel avec plusieurs variables
Je voudrais que le nom d'utilisateur de la personne qui laisse un commentaire apparaisse sur la page d'affichage. J'ai un partiel qui passe par la collection de commentaires pour l'objet particulier, par exemple une école. Je ne peux pas comprendre comment passer cette variable utilisateur dans le partiel afin que je puisse afficher le nom de connexion pour le commentaire. Mon modèle de commentaires est polymorphe et je suis à peu près sûr que cela rend la chose plus complexe.
Voici les modèles:
class Comment < ActiveRecord::Base
belongs_to :commentable, :polymorphic => true
has_many :comments, :through => :schools
class School < ActiveRecord::Base
belongs_to :installation
belongs_to :neighborhood
has_many :comments, :as => :commentable
class User < ActiveRecord::Base
has_many :users, :through => :schools
contrôleur de l'école:
def show
@installation = Installation.find(params[:installation_id])
@school = School.find(params[:id])
@neighborhood = @school.neighborhood
@comment = @school.comments
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @school }
end
end
Le commentaire partiel:
<div class="box-one">
<img src="/images/comment_top.png" alt="" />
<div class="inside">
<p><span class="stars"><%= display_stars(comment.stars) %></span><br />
<%= comment.content %></p>
</div>
<img src="/images/comment_bottom.png" alt="" />
</div>
La vue de l'école:
<%= render :partial => "shared/comment", :collection => @comment %>
Il ne semble pas que vous pouvez obtenir t o l'utilisateur qui a fait le commentaire à partir du commentaire. – wombleton