我的控制器是:
def index
puts session.inspect
end
def create
@asset = Asset.new(params[:asset])]
respond_to do |format|
if @asset.save
unless session[:assets] && session[:assets].kind_of?(Array)
session[:assets] = Array.new
end
session[:expires_at] = Time.now + 1.hour
session[:assets] << @asset
end
end
我想将一些模型保存到会话中并稍后进行,但是在创建了一些资产后,我无法得到任何东西
答案 0 :(得分:1)
不要将它们存放在这里,使用关系。例如,在用户has_many :assets
。
答案 1 :(得分:0)
问题是你试图在会话中存储复杂的对象(Asset) - 遗憾的是这不起作用。您要做的是在会话中保存唯一键并在下次加载时从数据库中检索对象:
session[:assets] << @asset.id
在索引中,您可以致电:
puts Asset.where(:id => session[:assets]).all.inspect