I am trying to search by model for all records with a specific tag.
An example of the output we are trying to find:
ruby-1.9.2-p0 :1 > Question.last.tags => [#<ActsAsTaggableOn::Tag id: 2, name: "preferences">, #<ActsAsTaggableOn::Tag id: 13, name: "travel">]
So, Question has tags , for example, preferences and travel. I tried:
@tags = @questions.where("tags LIKE ?", "%#{params[:tags]}%") => [] @tags = @questions.where("tag LIKE ?", "%#{params[:tags]}%") => [] @tags = @questions.where("tag_list LIKE ?", "%#{params[:tags]}%") => BadFieldError: Unknown column 'tag_list'
How to return the top record if params[:tags] is, for example, "refere" or "ences"?
Question Model
class Question < ActiveRecord::Base has_many ... acts_as_taggable_on :tags end
Second attempt
I just created a custom controller action to try to modify the request according to the @Nash suggestion. How can I fix it?
def autocomplete_question_tags @tags = Question.tagged_with("%#{params[:term]}", :any => true) respond_to do |format| format.json end end
When entering "travel" in the form:
Started GET "/answers/autocomplete_question_tags?term=travel" for 127.0.0.1 at 2011-04-16 20:37:34 -0400
Processing by AnswersController#autocomplete_question_tags as JSON
Parameters: {"term"=>"travel"}
{"term"=>"travel", "action"=>"autocomplete_question_tags", "controller"=>"answers"}
SQL (1.8ms) SHOW TABLES
SQL (0.8ms) SELECT COUNT(*) AS count_id FROM (SELECT 1 FROM 'questions' WHERE (questions.id IN (SELECT taggings.taggable_id FROM taggings JOIN tags ON taggings.tag_id = tags.id AND (tags.name LIKE '%travel') WHERE taggings.taggable_type = 'Question'))) AS subquery
logger.debug: 1 result in query
Completed in 114ms
ActionView::MissingTemplate (Missing template answers/autocomplete_question_tags with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml, :haml], :formats=>[:json], :locale=>[:en, :en]} in view paths "/Users/san/Documents/san/apl/app/views",
app/controllers/answers_controller.rb:36:in 'autocomplete_question_tags'
Rendered /Users/san/.rvm/gems/ruby-1.9.2-p0/gems/actionpack-3.0.1/lib/action_dispatch/middleware/templates/rescues/missing_template.erb within rescues/layout (0.7ms)