2012-05-11 47 views
1

我想委託給Index動作的Show動作,如果通過了一個id。我似乎無法讓它工作,我在這裏做錯了什麼?在Ramaze委託另一個動作

require 'ramaze' 
require 'slim' 

class UsersController < Ramaze::Controller 
    engine :slim 

    def index(id=nil) 
     if id 
      render_full "https://stackoverflow.com/users/show/#{id}" #id was passed, "show" the item 
     end 
     #alright just render the "index.slim" here... 
    end 

    def show(id) 
     u=User[id] #ORM stuff... 
    end 
end 

Ramaze.start 

回答

1

你必須調用return render_full(...)而不僅僅是render_full(),如果沒有這個它下面的代碼將被不管是否被指定的ID執行。

+0

對不起,'回報render_full「/用戶/顯示/#(編號)」如果id'不起作用。從我觀察到的,從動作中返回一個字符串(如預期的那樣),但如果您設置了視圖引擎則不會。我似乎得到了奇怪的錯誤。 – rebnoob

+0

錯誤如? –

1

你可以調用的return show(id)代替render_full "https://stackoverflow.com/users/show/#{id}"

+0

對不起,也不行!請看我對尤里克的回答的評論。 – rebnoob

相關問題