前几天,我偶然发现了 Sandi Metz 的规则,其中一个读到
当你的 Rails 控制器调用时,你只能实例化一个对象来做任何需要做的事情。
对 Rails 来说还是很新,但我一直认为我的控制器方法有一些味道,这证实了这一点。我有一个父模型的仪表板视图,它显示有关他们的孩子(不同的模型)和孩子的挑战(另一个模型)的信息,所有这些都具有不同的控制器。这是我们的控制器方法之一的示例。
def dash
@parent = current_user
@children = @parent.children
@completed_challenges = @parent.assigned_challenges.where("parent_id =?", @parent.id).where("completed =?", true)
@validated_challenges = @parent.assigned_challenges.where("parent_id =?", @parent.id).where("validated =?", true)
@enabled_rewards = @parent.enabled_rewards.where("parent_id =?", @parent.id)
end
我想知道是否可以发送多个请求以从它们各自的控制器中获取所有这些对象,而不是将它们全部集中在一个请求中。我知道我可以用 Ajax 做到这一点,但是有没有办法在页面加载时只做多个 http 请求?
感谢您的帮助!