web-dev-qa-db-ja.com

postでparams属性を取得するにはどうすればよいですか?

私はSinatraをRuby 1.8.7で使用しています。Web開発に慣れていないので、getとpostを完全には理解していませんが、いくつかのものが機能しています。知っておくべきこと次は、特定の属性についてpostでパラメータを調べる方法です。メインファイルには、次のコードがあります。

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]に質問する必要があります。あなたはどのようなクラスですか?次に、それに応じて各パラメータを処理できます。これは意味がありますか?

16
dt1000

Sinatraでは、paramsを使用してフォームデータにアクセスします。必要な値をインスタンス変数に入れる必要があります。インスタンス変数には、ビューからアクセスできます。

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

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

これがあなたの質問に答えるかどうかはわかりませんが、お役に立てば幸いです。

33
Todd Yandell

トッドの答えに加えて、インスタンス変数内のすべてのパラメータを取得したい場合があります。

@params = params 

&その後、ビューで

できるよ

<%=  @params[:title] %>
0
Pradeep S