2012-07-01 24 views
0

我正在使用Ruby on Rails 3.2.2和ruby 1.9。如何根據組合框調用控制器操作?

我確實有一個模型招標,其中一個屬性是狀態。在首次加載索引頁面時,它會根據已登錄的用戶公司(它也會顯示狀態)顯示招標數據。

我想要一個組合框過濾器,它將包含所有的狀態(Initiated,Closed,Won ..etc),所以當用戶更改過濾器時,我想要更改表格數據以及提交狀態給控制器,控制器會根據狀態過濾出標書。我怎樣才能做到這一點?如何使用Ajax(因爲唯一改變的是表數據而不是整個頁面)?

我也有不同的過濾器的狀態,而不是由bid_amount(也屬性之一)的選項。如何將bid_amount過濾器與數據結合使用(即,如果用戶想要顯示出價金額爲b/n 10,000-100,000的關閉狀態)。我不會在控制器上寫查詢時出現問題,但我不知道如何從視圖中使用它。

由於ruby沒有像Java一樣的枚舉,我也從模型類的數組中加載這些狀態。這是做這件事的好方法嗎?

任何建議也將不勝感激。

回答

1

通過ajax執行事情的rails方法是使用:remote => true。 簡單的搜索將爲您提供不少教程。

非ajax解決方案可能是這樣構造的。

def index 
    if params[:status] || params[:bid_amount] 
     # Tailored Query 
    else 
     # Generic Query 
    end 
end 

查看

<%= form_tag index_route_path do %> 
    # Statuses that are pulled form symbolize via Model 
    # Bid Amount Boxes 
<% end %> 

# Display query results 

另外我想籤寶石象徵,以幫助您與您的枚舉 https://github.com/nofxx/symbolize

它仍然沒有超清對我有什麼我們希望做的。如果您希望根據用戶設置的狀態填充出價金額框,您可以觸發表單提交onChange,並使用助手填充您的bid_amount值。

+0

如果我不使用ajax的話。你能給我舉個例子嗎? – WowBow

+0

增加了一些額外的信息,讓我知道它是否有幫助。 – davissp14

+0

我試圖解決這個問題已經很長時間了。但我仍然無法解決它 – WowBow

相關問題