我正在构建一个Rails 4应用程序。
该应用程序用于为一堆客户记录网络硬件设备(IT咨询业务将使用的应用程序)。第一个索引视图是列出所有客户端的视图。此时,您可以单击链接以查看特定于该客户端的项目。我针对要记录的不同类型的事物(即服务器控制器,防火墙控制器等)建立了不同的模型和控制器。
我到了嵌套的地步,可以从客户端索引页面获取链接以传递client.id,并在该SPECIFIC控制器上查看与该客户端关联的项目(即它将列出该客户端的所有服务器) 。现在,当您在那里时,我还希望它也列出来自不同模型/控制器的所有其他项目。我想要一个页面来显示来自不同型号/控制器的数据。
我正在尝试确定这种情况下的最佳实践。我觉得我缺少明显的东西,而Rails以某种特定的方式处理它-或-大多数人说Rails很烂/不这样做,每个人都X来完成这项任务。
以下是我没有先后顺序的想法:
我想确保以良好的老式DRY感觉进行此操作。
因此,您所描述的就像仪表板一样。没有任何一种“最佳”方法可以解决此问题,但这就是我要做的。
您的控制器应定义将在视图中使用的对象。现在我怀疑您使用的servers_controller.rb
只是定义之类的东西@servers
。如果您的视图需要其他模型,只需在操作中对其进行定义。假设您需要列出除服务器之外的防火墙。继续@firewalls = Firewall.where(client_id: client_id)
按照这些思路添加或添加一些内容。只要确保您没有开始在控制器中添加业务逻辑即可。
一旦定义了其他变量,就可以在视图中访问它们。如果要对其进行干燥处理,可以为仪表板部件创建目录(假设您计划在其他地方重用相同的视图)。然后,您可以使用<%= render "dashboard/firewalls", firewalls: @firewalls %>
该部分,并将其传递给@firewall变量。
根据您提供的设置,这只是一个想法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句