2011-04-07 14 views
13

Sinatra'yı Ruby 1.8.7 ile kullanıyorum. Web geliştirme konusunda yeniyim, bu yüzden almayı ve yayınlamayı tamamen anlayamıyorum, ancak bazı işlerim var. Bundan sonra bilmem gereken şey, belirli nitelikler için post içindeki paramları sorgulamaktır. plan_design.erb olarakPostada params özelliklerini nasıl alabilirim?

get "/plan_design" do 
    erb :plan_design 
end 

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

, ben:

<% 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 %> 

ben olmayan dizeleri için farklı bir sınıfını kullanıyorum gördüğünüz gibi benim ana dosyasında bu kodu var. post’da params[some_key]’a sormalıyım, ne tür bir sınıfısınız? Sonra her param ona göre davranabilirim. Bu mantıklı mı?

cevap

32

Sinatra'da form verisine erişmek için params'u kullanırsınız. Size görünümünden erişebileceğiniz bir örnek değişkeni, içine ihtiyacınız değerleri koymalıyız:

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

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

bu sorunuza cevap verirse emin değilim, ama yardımcı olur. Todd cevaba Daha

0

, sen

Eğer

<%= @params[:title] %> 
yapabilirsiniz görünümünde

@params = params 

& sonra bir örnek var yani tüm params almak isteyebilirsiniz

İlgili konular