2012-05-24 2 views
0

Im пытается найти все записи, которые имеют похожие теги для текущей просматриваемой записи. Мой контроллер имеет:Странное поведение с tagged_with actions_as_taggable_on метод

def show 
    @tattoo =Tattoo.find(params[:id]) 
    tags = @tattoo.style_list.join(", ") 
    @tattoos = Tattoo.tagged_with(tags, :any => true).limit(6) 
    end 

(бонусных очков, если кто-нибудь может сказать мне, как рандомизации порядок записей в arrary) мой взгляд просто перебирает массив.

Во всяком случае, он работает почти все время, но я заметил, что это ломает иногда и во время устранения неполадок, я обнаружил, что он ломает, когда я использую tagged_with("jesse smith", :any => true), но это работает, когда я пытаюсь tagged_with("jason stephan", :any => true) или tagged_with("black ink", :any => true)

Таким образом, каждый член имеет место в но по какой-то причине «Джесси-кузнец» убивает действие.

Моя консоль показывает, что у меня есть ошибки маршрутизации тоже:

ActionView::Template::Error (No route matches {:action=>"show", :controller=>"tattoos", :member_id=>nil, :id=>#<Tattoo id: 170, description: "", status: "approved", member_id: nil, created_at: "2011-10-25 23:08:17", updated_at: "2011-11-17 16:56:55", file_file_name: "starry-eyed-rabid-squirrelweb.jpg", file_content_type: "image/jpeg", file_file_size: 294782, file_updated_at: "2011-10-25 23:08:17", album_id: nil, position: 116, favorite_count: 0, share_count: 1, file_remote_url: "http://www.jessesmithtattoos.com/wp-content/gallery...">}): 
    22: <ol class="small_tattoos"> 
    23:  <% @tattoos.each do |t| %> 
    24:  <li> 
    25:  <%= link_to image_tag(t.file.url(:tiny),:alt=>"#{t.style_list}, rtattoos, tattoos"), member_tattoo_path(t.member, t) %> 
    26:  </li> 
    27:  <% end %> 
    28: </ol> 
    app/views/index/show.html.erb:25:in `block (2 levels) in _app_views_index_show_html_erb___1839804211534816245_69842632179360__4333294961394575926' 
    app/views/index/show.html.erb:23:in `block in _app_views_index_show_html_erb___1839804211534816245_69842632179360__4333294961394575926' 
    app/views/index/show.html.erb:11:in `_app_views_index_show_html_erb___1839804211534816245_69842632179360__4333294961394575926' 

Так почему же один член причина ошибки маршрутизации, а не другие?

ответ

0

Я думаю, у вас есть проблемы с помощником пути:

member_tattoo_path(t.member, t) 

Я вижу в описании ошибки, которые

:member_id=>nil 

Так получается, что татуировка с меткой Jesse кузнец не соответствующие ассоциации с name 'member' и помощник пути, которым нужен действительный id, выдает исключение.

+0

Ох, человек, которого вы знаете, что? Im dumb Я должен был это увидеть и понял, что я не включал инструкцию if/else в эту точку зрения, я думаю, что пришло время для перерыва. Благодаря! – rugbert

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