2010-10-23 2 views
0

Ok Мне нужен эксперт советует здесь ....Фотоальбом, Фото - Разбиение через альбом

У меня есть фотоальбом, который has_many фотографии ... Общая вещи правильно?

Где мне нужен совет эксперта, я хочу, чтобы использовать, чтобы нажать на нужный альбом фотографий ... а потом увидеть одну фотографию в то время ...

Если это все будет происходит в контроллере PhotoAlbum? вот как у меня сейчас, но это становится грязным, как я хочу, чтобы добавить комментарии

Вот мое текущая Защита шоу:

class PhotoAlbumsController < ApplicationController 

    #Need to activate the Nav 
     @space = Space.find(params[:space_id]) 

    @photoalbum = PhotoAlbum.find(params[:id]) 
    @photos = @photoalbum.photos.paginate :page => params[:page], :per_page => 1 

    @photo = @photos 

     @comments = @photoalbum.comments.roots.order("created_at DESC") 

    respond_to do |format| 
     format.html 
    end 

    end 
. 
. 

Тогда в представлении:

<%= image_tag @photos.first.photo.url %> 
<%= render :partial => 'comments/index',:locals => {:commentable=> @photo.first,:comments => @comments}%> 

Проблема здесь Фото комментарии показывает комментарии к альбому, но записывая его для фотографии ...

Я хочу комментарии на фото - не альбом .. и думаю, может быть, моя настройка контроллера фанки?

Спасибо!

+0

полностью неорганизован и не объяснил идиоматические особенности. – s84

ответ

0

В контроллере вы определяете @comments переданные парциальное как массив комментариев на вашем фотоальбоме:

@comments = @photoalbum.comments.roots.order("created_at DESC") 

А затем установите commentable объект в неравнодушны к первой фотографии в вашем альбоме.

<%= render :partial => 'comments/index',:locals => {:commentable=> @photo.first,:comments => @comments}%> 

Да, вы публикуете комментарии к альбому при размещении на сайте новых комментариев. Измените @comments на комментарии к фотографии.

Смежные вопросы