gpt4 book ai didi

ruby-on-rails - Rails 助手应该假设实例变量存在还是应该将它们作为参数接收?

转载 作者:行者123 更新时间:2023-12-03 07:16:59 26 4
gpt4 key购买 nike

我想知道是否有一个特定的编程原则(Demeter?)支持这样的想法:Rails 助手永远不应该使用 Controller 实例变量,相反,它们应该接收此类变量作为函数参数。例如,假设我的 ChickensController#squawk 操作创建了一个名为 @egg 的实例变量。此外,假设 squawk View 包含对名为 cockadoodledoo 的帮助程序的调用,实现如下:

def cockadoodledoo
@egg.to_s
end

@egg 作为参数传递会更好还是不必要的冗长,以便 View 调用 cockadoodledoo(@egg) 并且帮助器类似于:

def cockadoodledoo(egg)
egg.to_s
end

我希望你们中的一位快乐的黑客能够在周五下午无聊到断言答案。鹦鹉!

This question here is similar, but was never accurately answered.

最佳答案

将它们作为参数接收。否则,随着应用程序的增长,在重构、故障排除等时跟踪实例变量的设置位置会变得非常困难。

此外,我相信一般的最佳实践是仅在初始模板中的 View 中使用实例变量...并且从那里您应该将变量传递到帮助程序和其他部分中。

关于ruby-on-rails - Rails 助手应该假设实例变量存在还是应该将它们作为参数接收?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6474596/

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