在控制器中使用Bootstrap导航栏选项?
问题描述:
所有,我试图使用Bootstrap导航栏用户选项来控制显示给用户的帖子过滤。在控制器中使用Bootstrap导航栏选项?
该模型包括一个日期时间类型的“过期”字段。
有三种选择:全部(不过滤),打开(仅显示未解决的问题)和已关闭(已关闭)。 有没有办法做到这一点,而没有定义三个不同的index.html.erb
变种(干燥问题)。如果@post.expired < Time.now
..过滤器应该只显示关闭问题等。
说出交替 - 可以控制器'知道'用户选择,虽然Navbar,因为我使用它,只是一个奇特的导航工具栏?
感谢您的任何建议。
答
通常,这是通过在请求中包含参数并在控制器中查找该参数来完成的。自举导航栏使用常规的锚链接,所以你应该能够轻松地添加参数,它们(从doc变形例):
<div class="navbar">
<div class="navbar-inner">
<a class="brand" href="/some_url">List</a>
<ul class="nav">
<li><a href="/some_url">All</a></li>
<li><a href="/some_url?filter=open">Open</a></li>
<li><a href="/some_url?filter=closed">Closed</a></li>
</ul>
</div>
</div>
您可以通过访问的params[:filter]
值读取控制器中的filter
参数。
+0
完全作品,谢谢! – 2013-02-13 05:26:39
你是什么意思'可以控制器知道'。你的意思是,如果它是一个特定的用户在导航栏上显示某种选项? – David 2013-02-12 06:42:44
为了澄清,用户从导航栏中选择All/Open/Closed,控制器应该使用'expired'字段对其进行响应,而不是简单地转到三个不同的链接。导航栏对于所有用户来说都是完全静态的。 – 2013-02-12 06:46:09