2012-02-02 85 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