2012-02-02 84 views
0

可以检查参数是否存在以决定要渲染哪个部分?可以检查参数是否存在以评估结果

我有一个搜索输入将结果返回给索引操作,如果用户刚刚访问过索引操作,我想返回'index_partail',但如果用户搜索了某些内容,我想返回' search_partial”,是这样的:

unless params[:search].empty? 
    render 'post_head' 
else 
    render 'search_head' 
end 

有没有做这种方式的任何问题,或者有更好的选择吗?

回答

2

搜索是一个非常不同的操作,而不仅仅是显示一个页面 - 如果搜索参数存在,您是否还需要执行查找?对我来说,这听起来像是不同的操作,因此不同的操作。

这就是说,还有更糟糕的事情。不过,我会考虑扭转这种状况。

if params[:search].empty? ...etc... 

我没有找到unless这样的用法非常可读的,但是这主要是偏好。

+0

我最初有一个搜索控制器和视图,但搜索只是为了找到帖子,并且帖子控制器的索引操作以与搜索结果完全相同的方式列出帖子,所以我最终将搜索结果移动到了张贴索引视图,并决定通过partials将页面的头部从'Listing Posts'标题更改为'12 results'标题。 – Darcbar 2012-02-02 15:15:45

+0

@ Darcbar88是的,我明白了。不过,我会考虑为搜索添加REST动作,或者使用两种方法或其他内容 - 取决于未包含在该文章中的其他内容。只要它有效,简明扼要,通常归结为你自己的风格。 – 2012-02-02 15:23:30