How to get acts on taggable working

Posted by Schipperius on Stack Overflow See other posts from Stack Overflow or by Schipperius
Published on 2012-07-08T03:10:08Z Indexed on 2012/07/08 3:15 UTC
Read the original article Hit count: 229

I am new to ruby on rails (and programming) and this is probably a really stupid question. I am using Rails 3.2 and trying to use acts_as_taggable_on to generate tags on articles and to have those tags show on article index and show pages as a clickable links.

I have tags clickable on both the article show and index pages, but the links just go back to the index page and don't sort according to the tag name. I have scoured the Internet and pieced together the code below from various sources, but I am clearly missing something.

Any help is greatly appreciated, as I have exhausted my seemingly limited knowledge! Thanks.

Here is what I have:

class ArticlesController < ApplicationController
    def tagged
        @articles = Article.all(:order => 'created_at DESC')
        @tags = Article.tag_counts_on(:tags)
        @tagged_articles = Article.tagged_with(params[:tags])  
        respond_to do |format|
          format.html # index.html.erb
          format.json { render :json => @articles }
        end 
      end

     def index
        @article = Article.new
        @articles = Article.paginate :page => params[:page], :per_page => 3    
        @tags = Article.tag_counts_on(:tags)
        respond_to do |format|
          format.html # index.html.erb
          format.json { render json: @articles }
        end
      end

module ArticlesHelper
  include ActsAsTaggableOn::TagsHelper
end

class Article < ActiveRecord::Base
  acts_as_ordered_taggable
  acts_as_ordered_taggable_on :tags, :location, :about 
  attr_accessible :tag_list
  scope :by_join_date, order("created_at DESC")
end

article/index.html.erb
<% tag_cloud(@tags, %w(tag1 tag2 tag3 tag4)) do |tag| %>
<%= link_to tag.name, articles_path(:id => tag.name) %>
<% end %>

article/show.html.erb
<%= raw @article.tags.map { |tag| link_to tag.name, articles_path(:tag_id => tag) }.join(" | ") %>

© Stack Overflow or respective owner

Related posts about ruby-on-rails

Related posts about acts-as-taggable-on