嗨,我是铁杆的初学者,我不擅长英语。所以,如果有一些完全无稽之谈请理解..
我正在尝试在每个页面中记录加载速度和页面持续时间。 我在“页面”模型中创建了数据库“pages”和方法“savepage”。 为了保存在每个页面中,我将“savepage”方法放在应用程序控制器中。
def self.savepage
.
.
.
end
before_filter :dosave
def dosave
Page.savepage
end
这种格式..
我的问题是 我做得对吗?使用before_filter在第一个加载过程中保存? 2.加载页面中的所有内容后保存我应该使用什么? 3.用户离开此页面后保存我应该使用什么?
我看到了before_destroy和after_filter,但我找不到它是什么......什么过滤器意味着....什么行动意味着毁灭.... 提前谢谢你!
答案 0 :(得分:0)
before_filter
是在向控制器发出请求之前加载的第一件事。但是你的需求是完全不同的。从根本上说,过滤器使用布尔检查。如果某种方法是真的,它将运行,否则它可能不会。此过滤器进一步扩展,我们将代码放入过滤器中。(有时甚至将其视为最佳实践)。
现在,before_filter :dosave
可能是正确的,但是不是了解页面(UI)加载过程的真实方式。我建议你使用javascript调用或使用一些手动创建的帮助方法,并将其放入查看.erb
文件。
这可能会引起你的兴趣
https://github.com/grosser/record_activities
Log user activities in ROR
什么行动意味着什么?
Action Controller is the C in MVC. After routing has determined which controller to use for a request, your controller is responsible for making sense of the request and producing the appropriate output. Luckily, Action Controller does most of the groundwork for you and uses smart conventions to make this as straightforward as possible.
资料来源:http://guides.rubyonrails.org/action_controller_overview.html
我强烈建议你阅读上面的文档。对你来说非常必要,它涵盖了你在这里提出的主题
还有一件事,
什么是行动毁灭?
这只是一种新的动作方法。因为,rails跟随Convention over configuration
(以及它的开发人员),所以他们会放置执行delete
destroy
或某些破坏的代码。这使事情变得简单,否则将需要更多的配置来抵制rails策略。