Kann nicht auf attr_accessor definierte Variablen zugreifen

Ich verwende Thinking Sphinx, um Suchvorgänge auszuführen, und ich erhalte die entsprechenden ActiveRecord-Modelle in Ordnung. Das Problem ist, dass ich für jedes Modell einen entsprechenden Linkpfad und -text erstellen und die Informationen dann über AJAX in Form von JSON an den Browser senden möchte. Ich verwende Folgendes, um diese Linkattribute zu erstellen:

In der Steuerung:

class FindController < ApplicationController
  def tag_results
    @results = ThinkingSphinx.search(params[:terms])
    @results.each do |result|
      result.build_ajax_response
    end
    respond_to do |format|
      format.html
      format.json { render :json => @results }
    end
  end
end
Im Modell:
class TaggedItem < ActiveRecord::Base
  attr_accessible :name
  attr_accessor :search_link, :search_text<p></p>

def build_ajax_response self.search_link = Rails.application.routes.url_helpers.tagged_item_path(self.id) self.search_text = self.name end end The resulting json object doesn't have either of the search_* attributes listed, much less have a value for them. I've tried using @search_link as well as just search_link in the build_ajax_response method.

Am I doing this wrong? Could there be something else interfering?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage