我正在使用思維獅身人面像來運行搜索,我得到相應的ActiveRecord模型罰款。問題是,我想在每個模型上創建適當的鏈接路徑和文本,然後通過AJAX將信息以JSON的形式發送到瀏覽器。我使用的是下面建立這些連接屬性:無法訪問attr_accessor定義的變量
在控制器:
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
在模型:
class TaggedItem < ActiveRecord::Base
attr_accessible :name
attr_accessor :search_link, :search_text
def build_ajax_response
self.search_link = Rails.application.routes.url_helpers.tagged_item_path(self.id)
self.search_text = self.name
end
end
生成的JSON對象不具有任何的搜索_ *相關屬性上市,更不用說有一個值爲他們。我試過使用@search_link以及
build_ajax_response
方法中的search_link。
我做錯了嗎?會不會有其他干擾?
您是否嘗試過在控制檯上使用'build_ajax_response'?是否提出了一些問題,是否設置了? – Draiken 2012-07-11 15:17:22
當我運行
build_ajax_response
它不會引發任何錯誤,但以典型的ruby方式,它確實返回最後一次評估的表達式。 (在這種情況下,self.name) – Tricnic 2012-07-11 15:39:17