ruby-on-rails - 在 Controller 中的 View VS 中运行昂贵的方法 - Rails

标签 ruby-on-rails

冒着被标记为“太宽泛”的风险,但这是一个真实的怀疑。

说我有@my_model.complex_calculation_result在 View 中显示。

有什么优点和缺点:

1 - 计算 Controller 上的值并将其发送到 View

Controller :
@result = @my_model.complex_calculation_result # caching the value in the controller
看法:
<%= @result %>
2 - 直接在 View 中计算
<%= @my_model.complex_calculation_result %>
我知道最后一个选择代表更少的代码,并且我有一个更少的实例变量。

但是有性能差异吗?

猜一 - View 已经需要更多的内存来渲染它,所以如果内存昂贵,从 View 内部进行计算可能需要更长的时间。

对此的任何了解和评论都将受到高度赞赏。 :)

最佳答案

虽然我没有回答您问题的性能部分,但您在采用第二种方式时违反了 Rails MVC 原则。 View 并不意味着对模型数据执行任何(特别是复杂的)计算。

关于ruby-on-rails - 在 Controller 中的 View VS 中运行昂贵的方法 - Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47359115/

相关文章:

sql - 从 Rails 中的多个表中进行选择

php - 使用 Ruby on Rails 保护数据?

ruby-on-rails - Rails to_json 响应将日期时间转换为 unixtimestamp

ruby-on-rails - 使用 Rails 的 asset pipeline 时如何获取实际文件路径(与 send_file 一起使用)

ruby-on-rails - 如果行不存在则创建行

ruby-on-rails - 在设计中将名称属性添加到 `User`

SQL order_by 表达式

javascript - Window.unload 触发后卸载

ruby-on-rails - 在注册时创建用户个人资料添加个人资料表单字段以设计注册#new form

ruby-on-rails - Ruby 中的正则表达式 URL 验证