私は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]
に質問する必要があります。あなたはどのようなクラスですか?次に、それに応じて各パラメータを処理できます。これは意味がありますか?
Sinatraでは、params
を使用してフォームデータにアクセスします。必要な値をインスタンス変数に入れる必要があります。インスタンス変数には、ビューからアクセスできます。
post "/plan_design" do
@title = params[:title]
erb :plan_design
end
<input name="<%= @title %>" />
これがあなたの質問に答えるかどうかはわかりませんが、お役に立てば幸いです。
トッドの答えに加えて、インスタンス変数内のすべてのパラメータを取得したい場合があります。
@params = params
&その後、ビューで
できるよ
<%= @params[:title] %>