2016-06-04 43 views
-1

Ich kratze eine Website von einem Controller und setze sie in eine JSON-Antwort/Ansicht. Das Problem ist, dass es scheint, das gleiche Ergebnis zu cachen, obwohl der Inhalt, den ich scrape, unterschiedlich ist. Ich bin völlig verloren, was ich tun soll. Ich finde Links darüber, wie ich den Cache auf den Seiten aktivieren kann, aber nicht, wie man verhindert, dass Rails zwischengespeichert werden.Ruby on Rails Cache

class XXXXXController < ApplicationController 
    before_action :set_song, only: [:show, :edit, :update, :destroy] 

    # GET /songs 
    # GET /songs.json 
    def index 
    @xxx = xxxx.all 


    @url = [] 
    doc = Nokogiri::HTML(open("http://xxxxx.xxxx.org/xx/")) 

    doc.xpath("//a[@class=\"replylink\"]").each { |node| 
     thread = Nokogiri::HTML(open("http://xxxxx.xxxx.org/xxx/" + node["href"])) 

     thread.xpath("//blockquote[@class=\"postMessage\"]").each { | xx_post | 
     xx_post.text.scan(/www\.youtube\.com\/watch\?v=(([a-zA-Z0-9]){11})/).each { | yt | 
      @url << Regexp.last_match[1] if Regexp.last_match 
     }  
     } 
    } 
    end 

Die Seite, die ich öffne, ändert sich einmal pro Sekunde.

json.array!(@url) do |url| 
    json.url song_url(url, format: :json) 

end 

Es speichert immer noch. Es begann damit, als ich ein CSS-Asset änderte.

+0

Zeigen Sie durch Code, was Sie meinen, es scheint, das gleiche Ergebnis zu cachen, obwohl der Inhalt, den ich scrape, anders ist. – Anand

+0

sind Sie im Produktionsmodus? –

+0

ja, ich bin. Ich bin neu in Schienen, so dass es sehr verwirrend ist –

Antwort

0

Ich habe json.cache !. Neue Jbuilder-Datei: