Я новичок в рельсах и нуждаюсь в некотором руководстве. Я уверен, что неправильно понимаю что-то очевидное.
Я хотел бы, чтобы имя пользователя, оставляющего комментарий, отображалось на странице просмотра. У меня есть частичное, которое проходит через коллекцию комментариев для конкретного объекта, например школы. Я не могу понять, как передать эту пользовательскую переменную в частичное, чтобы я мог отображать имя пользователя для комментария. Моя модель комментариев полиморфна, и я уверен, что это делает ее более сложной.
Вот модели:
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
Контролер школы:
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
Частичный комментарий:
<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>
Вид на школу:
<%= render :partial => "shared/comment", :collection => @comment %>
User
, оставившего комментарий, из самогоComment
. - person wombleton   schedule 18.08.2009