2012-03-31 57 views
0

我有一個包含用戶,機器和測試的應用程序。
用戶有很多機器和測試
機屬於用戶
測試屬於機械如何鏈接到Rails中父對象的顯示頁面

* 測試顯示的網頁,同時,我想添加一個鏈接轉到該測試的母公司機顯示頁面。 *

我TestsController寫着:

def show 
@test = Test.find(params[:id]) 
... 
end 

我的測試顯示頁有以下鏈接:

<%= link_to 'Back to Machine', machine_path(@machine) %> 

出於某種原因,鏈接被髮送用戶

/machines/test_id 

而不是

/machines/machine_id 

我想我需要在TestsController顯示部分是這樣的:

def show 
@test = Test.find(params[:id]) 
@machine = Machine.find(params[:id]) 
... 
end 

,但因爲我得到的錯誤一定是不正確的。

+0

我懷疑你的@machine沒有初始化,在情況下,如果節目尚未按下的link_to「後退」之前叫,你會得到錯誤。 – 2012-03-31 16:35:32

+0

不知道如何顯示將不會被調用之前,我按link_to'返回....我將如何解決?在這種情況下, – 2012-03-31 16:45:36

+0

也會在索引操作中初始化'@ test'和'@ machine'。確保您在調用索引時通過params傳遞測試id。但是你必須初始化@machine,如Azolo所示 – 2012-03-31 17:02:05

回答

1

嘗試這樣的事情

def show 
    @test = Test.find(params[:id]) 
    @machine = @test.machine 
    ... 
end 
+0

是的! Azolo,你是個壞蛋。謝謝。 回想起來,這個問題似乎很愚蠢。但我絕對被卡住了。 – 2012-03-31 17:00:08

相關問題