在Rails中存储布局逻辑的最佳位置在哪里?

德鲁怀亚特

在我的Rails应用程序中,我有几个控制器为我的客户设计了一个站点。最终用户和管理员实际上使用了所有控制器。

我创建了一个包含导航链接的局部文件。我的问题是我不希望它们出现在admin部分中。造成这种棘手的部分是,导航应该针对诸如之类的东西出现pages/home/galleries或者/galleries/5它们不应针对诸如/pages/new或之类的东西出现/galleries/5/edit

到目前为止,我一直在向中添加逻辑application.html.erb,但是事情开始变得一发不可收拾,如果我的if语句中有太多规则,我会对此感到不舒服。这是一个例子:

来自application.html.erb的代码段

<% unless current_page?('/') or current_page?('/admin') or current_page?({action: :new}) %>
    <%= render "layouts/top_links" %>
<% end %>

这是我到目前为止所写的全部内容,但是如果我继续这样下去,几乎可以肯定会花更长的时间。所以这是我的问题:

  1. 我该在哪里放置逻辑,应该怎么称呼它?
  2. current_page?摆出这一点的最好方法吗?
陈慧琳

您可以将此类肮脏的逻辑放入帮助程序中以使其变得更干净

# layouts/application.html.erb
nav_links

# application_helper
def nav_links
  return "" if action_name.in?['new', 'edit'] || controller_path == 'admin'
  render partial: 'layouts/nav'
end

完毕。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

您在哪里存储JPopupMenu的逻辑?

来自分类Dev

Rails:将模块的rspec文件放在lib目录中的最佳位置在哪里?

来自分类Dev

在Ruby on Rails中查找文本的正确位置在哪里

来自分类Dev

业务逻辑在angularjs中的位置在哪里?

来自分类Dev

Android-在哪里存储本地图像列表的最佳位置?

来自分类Dev

plist文件在Xcode 6中存储NSUserDefaults的位置在哪里

来自分类Dev

在Magento中存储第三方服务凭据的“正确”位置在哪里?

来自分类Dev

快速定义枚举的最佳位置在哪里?

来自分类Dev

将根URL存储在iOS应用中以访问外部API的理想位置在哪里?

来自分类Dev

我的代码中的逻辑错误在哪里?

来自分类Dev

将支持功能放在类中的最佳位置在哪里?

来自分类Dev

Rails,编写模块。在哪里存储设置?

来自分类Dev

共享文件的最佳位置在哪里?

来自分类Dev

根据Ruby on Rails最佳实践,在哪里存储调用第三方api的逻辑的好地方?

来自分类Dev

python Django中存储索引文件示例的位置在哪里?

来自分类Dev

将授权服务器保留在微服务中的最佳位置在哪里?

来自分类Dev

共享文件的最佳位置在哪里?

来自分类Dev

Rails:将模块的rspec文件放在lib目录中的最佳位置在哪里?

来自分类Dev

plist文件在Xcode 6中存储NSUserDefaults的位置在哪里

来自分类Dev

Windows在哪里存储图标位置?

来自分类Dev

在哪里上课的逻辑?

来自分类Dev

在哪里存储应用位置数据?

来自分类Dev

KDE 5在哪里存储用户特定的键盘布局选择?

来自分类Dev

定义变量的最佳位置在哪里?

来自分类Dev

Rails,编写模块。在哪里存储设置?

来自分类Dev

在JMeter中,定义变量的最佳位置在哪里?

来自分类Dev

Mozilla中的布局/泛型在哪里?

来自分类Dev

在 React/Redux 应用程序中存储 RTCPeerConnection 对象的最佳位置在哪里?

来自分类Dev

在 Ruby on Rails 中,“Message”类存储在哪里?

Related 相关文章

  1. 1

    您在哪里存储JPopupMenu的逻辑?

  2. 2

    Rails:将模块的rspec文件放在lib目录中的最佳位置在哪里?

  3. 3

    在Ruby on Rails中查找文本的正确位置在哪里

  4. 4

    业务逻辑在angularjs中的位置在哪里?

  5. 5

    Android-在哪里存储本地图像列表的最佳位置?

  6. 6

    plist文件在Xcode 6中存储NSUserDefaults的位置在哪里

  7. 7

    在Magento中存储第三方服务凭据的“正确”位置在哪里?

  8. 8

    快速定义枚举的最佳位置在哪里?

  9. 9

    将根URL存储在iOS应用中以访问外部API的理想位置在哪里?

  10. 10

    我的代码中的逻辑错误在哪里?

  11. 11

    将支持功能放在类中的最佳位置在哪里?

  12. 12

    Rails,编写模块。在哪里存储设置?

  13. 13

    共享文件的最佳位置在哪里?

  14. 14

    根据Ruby on Rails最佳实践,在哪里存储调用第三方api的逻辑的好地方?

  15. 15

    python Django中存储索引文件示例的位置在哪里?

  16. 16

    将授权服务器保留在微服务中的最佳位置在哪里?

  17. 17

    共享文件的最佳位置在哪里?

  18. 18

    Rails:将模块的rspec文件放在lib目录中的最佳位置在哪里?

  19. 19

    plist文件在Xcode 6中存储NSUserDefaults的位置在哪里

  20. 20

    Windows在哪里存储图标位置?

  21. 21

    在哪里上课的逻辑?

  22. 22

    在哪里存储应用位置数据?

  23. 23

    KDE 5在哪里存储用户特定的键盘布局选择?

  24. 24

    定义变量的最佳位置在哪里?

  25. 25

    Rails,编写模块。在哪里存储设置?

  26. 26

    在JMeter中,定义变量的最佳位置在哪里?

  27. 27

    Mozilla中的布局/泛型在哪里?

  28. 28

    在 React/Redux 应用程序中存储 RTCPeerConnection 对象的最佳位置在哪里?

  29. 29

    在 Ruby on Rails 中,“Message”类存储在哪里?

热门标签

归档