Ich möchte ein Stück Inhalt zu ersten Mal Besucher einer Schiene App anzuzeigen, so schrieb ich eine Hilfsmethode, die Sitzung überprüft und speichert einen Cookie.Inhalt zum ersten Mal Besucher von Schienen App
Meine Controller sind wie folgt aufgebaut:
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
helper_method :first_time_visiting?
def first_time_visiting?
if session[:first_time].nil?
cookies.permanent[:first_time] = 1
end
end
end
class ItemsController < ApplicationController
before_action :first_time_visiting?
end
Und dann so ich rufe die Methode in meiner Sicht:
<% if first_time_visiting? %>
<div class="new-visitor-show">Test</div>
<% end %>
ich nicht „Test“ nach der ersten sehen sollte besuchen, aber ich bin. Benutze ich die Hilfsmethode falsch?
Ah, ich hatte keine Ahnung. Vielen Dank! Nur so verstehe ich: Sie definieren eine before_action, die ein Cookie und eine Instanzvariable namens @first_visit setzt, es sei denn, dass das Cookie bereits im Browser des Benutzers existiert? – sabaeus
Wenn der Cookie bereits gesetzt ist, wird die Methode 'first_time_visit' nicht aufgerufen, und so wird @first_visit null sein –