2012-08-05 56 views
-3

我還是很新的Rails,我正在研究一個基本的應用程序,並遇到了一個問題,我似乎無法繞過,對不起,如果這問題已經得到解答,但搜索沒有給我任何結果。如何設置我的對象在軌道上的紅寶石的初始值

基本上我創建了一個應用程序來編目所有的人的衣服,現在主頁是他們已經記錄的所有內容的索引頁,每張圖片鏈接到顯示更多信息的顯示頁面。我想用AJAX將顯示頁面放在主索引頁面的旁邊。我正在研究另一個教程來解決這個問題,但遇到了問題。在我的索引頁的初始加載中,我需要爲該顯示頁面定義一個變量,以便可以使用局部變量來渲染它,但是由於用戶沒有選擇,我無法使用find(params [:id])什麼都沒有。所以我的問題是如何將初始值設置爲目錄中的第一個項目或者沒有任何內容出現,然後當有人點擊鏈接時,側邊欄顯示了這件衣服的更詳細的描述。

感謝您的任何幫助。

+0

如果你可以發佈一些相關的代碼,你可能會得到更多的幫助。 – bkconrad 2012-08-05 23:38:11

回答

0

你可能會有一些運氣與紅寶石'PJAX'工作。 Here is a screen cast向你展示如何獲得你想要的AJAX邊欄。祝你好運

+0

是的,使用這個教程,我想出了我想做的事情。非常感謝鏈接。 – NIyer 2012-08-08 00:18:14

0

聽起來你可以像正常一樣打印容器元素,但是當頁面生成時將其留空。或者,通過CSS隱藏它。然後,當您使用AJAX加載其內容時,請將其設置爲可見或僅將其填充爲正常。

或者,如果您確實想將其設置爲目錄中的第一個項目(或任何ActiveRecord),則可以使用.first(例如, Products.first,並使用該值填充其初始內容。

+0

我不認爲它與CSS有關,比我在控制器中定義它更多。在控制器中它的@clothitem = Clothitem.find(params [:id]),我試着用if語句搞清楚它是如何工作的,這可能就是我接近它的方式。 – NIyer 2012-08-06 00:06:43

+0

CSS的使用只是一種解決方案,聽起來像你對megas的答案感興趣。 – bkconrad 2012-08-06 00:10:32

1
@object = params[:id] ? MyModel.find(params[:id]) : MyModel.first 

但我覺得應用程序的設計有一些問題。

+0

也許,我希望在側邊欄的初始頁面加載時是空白的,然後當有人點擊一篇文章時,該文章就會出現在側邊欄中。現在發生的事情是,側邊欄已經嘗試在第一次加載時顯示某些內容,並且由於用戶沒有選擇任何內容,因此無法使用。我可能需要採取不同的方式 – NIyer 2012-08-06 00:08:50