"lightbox")-6ren">
gpt4 book ai didi

ruby-on-rails - Rails View DRYness - 你是在 View 中设置变量还是只创建干净的方法?

转载 作者:行者123 更新时间:2023-11-30 23:55:21 26 4
gpt4 key购买 nike

我有一个 View ,其中我有 3 次相同的链接(实际 View 很大):

%h1= link_to "Title", model_path(@model, :class => "lightbox")
= link_to "Check it out", model_path(@model, :class => "lightbox")
%footer= link_to "Last time", model_path(@model, :class => "lightbox")

那个 model_path(@model, :class => "lightbox")调用,虽然相当干净,但可以更精简地将它包装在这个中(也许你有更多的选择,所以这样做是值得的):
def popup_model_path(model)
model_path(model, :class => "lightbox")
end

我的问题是,我必须在 View 中重新计算该路径 3 次。 a) 干掉它和 b) 优化性能的首选方法是什么?

我认为在 View 顶部设置变量可能是一个好主意:
- path = model_path(@model, :class => "lightbox")
-# ... rest of view

这几乎就像最后的 mustache 。你怎么看?

最佳答案

我认为在 View 中使用变量是一个好主意。由于这些方法调用完全相同。

Matt 提出的解决方案在某些情况下我更喜欢,但在这种情况下不是,因为我觉得它令人困惑:它缓存在方法中的事实不清楚,如果我想在一页中看到两个不同的模型,我仍然获得两个模型的第一个缓存链接。

所以在这种情况下,我会选择更明确的方法并将其分配给 View 中的一个变量。

关于ruby-on-rails - Rails View DRYness - 你是在 View 中设置变量还是只创建干净的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4310679/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com