2011-04-07 30 views
13

我使用Sinatra和Ruby 1.8.7。我是網絡開發新手,所以我不完全瞭解get和post,但我有一些工作。接下來我需要知道的是如何在特定的屬性中查詢post後的參數。在我的主文件,我有這樣的代碼:如何在帖子中獲得params屬性?

get "/plan_design" do 
    erb :plan_design 
end 

post "/plan_design" do 
    # do stuff with params 
end 

在plan_design.erb,我有:

<% if (hash[paramTitle].kind_of?(String)) %> 
    <div> <input class="planDesignAsset" name="<%= paramTitle %>" value="<%= hash[paramTitle] %>" ></input> </div> 
<% else %> 
    <div> <input class="planDesignAssetNum" name="<%= paramTitle %>" value="<%= hash[paramTitle] %>" ></input> </div> 
<% end %> 

正如你可以看到我使用的是不同類的非字符串。在post,我需要問params[some_key],你是什麼樣的班級?然後我可以相應地對待每個參數。這有意義嗎?

回答

32

在Sinatra中,您使用params來訪問表單數據。你應該把你所需要的值到一個實例變量,您可以從您的視圖訪問:

post "/plan_design" do 
    @title = params[:title] 
    erb :plan_design 
end 

<input name="<%= @title %>" /> 

我不知道這是否回答你的問題,但我希望它能幫助。

0

繼託德的回答,您可能希望得到所有PARAMS在一個實例變種即

@params = params 

&然後在視圖

你可以做

<%= @params[:title] %>