2012-10-03 86 views
1

我現在有這樣的:如何將函數參數傳遞給sinatra的erb視圖?

get '/myapp/get/:func' do 
    erb :server, :locals => {:func => params[:func]} 
end 

然後在我的server.erb文件我有這樣的:

if (func == "myFunc1") 
    myFunc1 
elsif (func == "myFunc2") 
    myFunc2 
etc... 

稱爲server.erb紅寶石函數定義。

現在我想定義一個新函數,並且我想傳遞一個變量給它。所以,我想在我的server.erb是這樣的:

def myNewFunc(param1) 
    # do stuff with param1 
end 

我如何通過param1給西納特拉?

注:我想傳遞的參數就是一個整數6介於0和

回答

0

你不必通過params當地人,你可以在任何地方本身他們在你的代碼 - 如果那是什麼你意思是。

+0

不完全。我有三個文件:myapp.rb,一個帶有sinatra東西的ruby文件; server.erb,紅寶石方法的erb文件;和myapp.js,這是運行我的應用程序的JavaScript。目前,server.erb中沒有任何方法接受任何參數,所以我只需要將方法的名稱傳遞給sinatra。但是現在我想創建一個不帶參數的方法,並且我不確定如何將這些參數從javascript轉換爲erb文件。 – imnotfred

+0

對不起,不知道。 – three