【问题标题】:Hide certain content depending on active page in Rails根据 Rails 中的活动页面隐藏某些内容
【发布时间】:2013-10-13 01:29:03
【问题描述】:

提前感谢您的帮助。

我是 Rails 新手,正在构建一个基本的个人网站。我在主页上有一个容器,用作全屏色块欢迎区域。它在我的布局文件夹中的 application.html.erb 中,但只希望它在用户使用 home.html.erb 时出现(必须放入应用程序文件以使其成为全角)。我以为我可以用 Ruby 语句来做到这一点,但我所写的一切都无法让它发挥作用。不过,我可能试图以错误的方式处理这个问题,所以我很感激任何建议。

谢谢!

【问题讨论】:

  • 你应该检查这个答案 - stackoverflow.com/questions/8552763/… 请在重复问题污染 SO 之前进行搜索。
  • 我实际上搜索了一段时间,因为如果它已经被问到我不想发布,但我没有找到。我只是在寻找如何隐藏用户登录、信息等,而不是页面上的某些内容。我不确定你搜索了什么,但我很感激。
  • 当你只希望它出现在一个页面上时,为什么你把它放在 application.html.erb 中?
  • 我正在使用 Bootstrap 框架,以我有限的知识尽快将其组合在一起。并且为了保持色块全宽,它不能放在容器中,如果我把它放在主页上,它会在产量中调用时自动放在容器中。可能不会以正确的方式进行,但我对 Rails 和这个框架非常陌生。

标签: ruby-on-rails ruby


【解决方案1】:

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-current_page-3F

它会检测您所在的路线,因此您可以在“if”语句中使用它。

另一个选项,如果您根据页面有不同类型的内容,则使用content_for 在该部分中显示不同的内容,而不使用 if/else 语句链(如果它变得更复杂,或者/或)。

【讨论】:

  • 谢谢。我去看看。
  • 仅供参考,您不能使用带有空白参数的 current_page? 方法(即,您必须明确告诉它检查它是否存在)。因此,如果您要获取哪个控制器或哪个操作,请使用controller_nameaction_name。如果您使用的是action_name,您很可能希望使用controller_name 执行&&
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-15
  • 2012-05-05
  • 2013-09-17
  • 1970-01-01
  • 1970-01-01
  • 2023-01-10
相关资源
最近更新 更多