2013-02-12 73 views
0

所有,我试图使用Bootstrap导航栏用户选项来控制显示给用户的帖子过滤。在控制器中使用Bootstrap导航栏选项?

该模型包括一个日期时间类型的“过期”字段。

有三种选择:全部(不过滤),打开(仅显示未解决的问题)和已关闭(已关闭)。 有没有办法做到这一点,而没有定义三个不同的index.html.erb变种(干燥问题)。如果@post.expired < Time.now ..过滤器应该只显示关闭问题等。

说出交替 - 可以控制器'知道'用户选择,虽然Navbar,因为我使用它,只是一个奇特的导航工具栏?

感谢您的任何建议。

+0

你是什么意思'可以控制器知道'。你的意思是,如果它是一个特定的用户在导航栏上显示某种选项? – David 2013-02-12 06:42:44

+0

为了澄清,用户从导航栏中选择All/Open/Closed,控制器应该使用'expired'字段对其进行响应,而不是简单地转到三个不同的链接。导航栏对于所有用户来说都是完全静态的。 – 2013-02-12 06:46:09

回答

0

通常,这是通过在请求中包含参数并在控制器中查找该参数来完成的。自举导航栏使用常规的锚链接,所以你应该能够轻松地添加参数,它们(从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

相关问题