2012-12-17 13 views
6

render ederken şablon hata eksik benim denetleyicisi Aşağıdaki kod var:KO: JSON

def tljson (result = []) 
    @stat_id = params[:stat_id] 
    @rpm = FedoraRpm.find_by_name(@stat_id) 
    @rpm.ruby_gem.historical_gems.each { |h| 
    result << { :content => h.version, :start => h.build_date } 
    } 
    @rpm.bugs.each { |b| 
    result << { :content => b.name + "<br><a href='"+b.url+"'>View on BugZilla</a>", :start => b.bz_id } 
    } 
    @res = result.to_json 
    respond_to do |format| 
    format.json { render @res.to_json } 
    end 
end 

/tljson.json gitmek JSON görüntüleniyor, ancak başlık Şablon Eksik olan' diyor; eksik şablon. Neyi yanlış yapıyorum?

cevap

7

Ben size Aksi takdirde bir tljson.json.erb dosyası arayacaktır sizin respond_to blokta

respond_to do |format| 
    format.json { render json: @res } 
end 

yılında :json işlemek istediğinizi belirtmeniz gerekir inanıyoruz.

+0

'# to_json' çağırmanız gerekmez. – Hauleth

+0

Bunu yapmayı denedim, şu hatayı döndürdü: #tljson içinde SyntaxError stats_controller.rb: 42: sözdizimi hatası, beklenmedik ':', '}' bekliyoruz – 17andLearning

+0

bu hatayı düzeltdi: format.json {render: json => @res} – 17andLearning