1
我想要一段內容展示給第一次訪問rails應用程序的訪問者,所以我寫了一個輔助方法來檢查會話並存儲cookie。將內容展示給第一次訪問rails應用程序
我的控制器被設置爲這樣的:
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
然後我打電話像這樣在我看來,方法:
<% if first_time_visiting? %>
<div class="new-visitor-show">Test</div>
<% end %>
我不應該先後看到「測試」參觀,但我是。我是否正確使用助手方法?
啊,我不知道。謝謝!我的理解是:你正在定義一個before_action來設置一個cookie和一個名爲@first_visit的實例變量,除非該cookie已經存在於用戶的瀏覽器中。 – sabaeus
如果cookie已設置,則不會調用方法'first_time_visit',因此@first_visit將爲零 –