这可能是一个新手问题,但我不确定搜索什么条款。如何跨重定向缓存ActiveRecord模型对象?
假设我有一个CUSTOMER对象,并且我想向该客户发送MESSAGE消息。
我会先做的是在CUSTOMER控制器上添加一个SENDMESSAGE动作,该动作构建消息对象。 (假设这是正确的做法?)
但是在这个例子中,我不需要从这个动作中实际发送消息,我需要转发到MESSAGE的编辑视图以捕获正文文本等。
问题:我想这样做,而不坚持对象。我想在这里构建对象,然后将其交给另一个视图来完成。
def sendmessage
@message = Message.new
@message.title = 'WIBBLE'
@message.thecustomer = self
@message.save
respond_to do |format|
format.html { redirect_to(edit_message_path(@ message)) }
format.xml { render :xml => @ message }
end
end
也许我的问题归结为,什么是“轨方式”缓存参数和对象的不同请求和多个屏幕。
很高兴指向Web网址,因为我期望这很简单。
感谢
非常感谢约翰。Cookie中的会话内容听起来像是一个奇怪的设计决定! – 2010-01-10 18:43:59
我还可以问,你会使用会话缓存控制器的动作吗?例如我的INDEX操作根据传入参数执行一个时髦的查询。我想缓存该特定结果列表,以便随后调用SENDMESSAGE。 (这可能意味着成千上万的对象存储在会话cookie中,因此猜测不)。但是,在调用SENDMESSAGE时,我没有再次重建CUSTOMER列表所需的所有参数?也许缓存这些参数? (很多方法可以做到这一点,但寻找rails的方式! – 2010-01-10 19:01:48
这听起来像缓存参数,所以你可以重建查询将是要走的路。注意,我说cookie会话存储是Rails的默认值。 'environment.rb'中的config.action_controller.session_store'选项允许您使用数据库来存储会话存储。 – 2010-01-10 19:25:12