Как мне получить атрибуты params в посте? - PullRequest
16 голосов
/ 08 апреля 2011

Я использую Sinatra с Ruby 1.8.7. Я новичок в веб-разработке, поэтому я не совсем понимаю, как получать и отправлять сообщения, но у меня есть кое-что работающее. Далее мне нужно знать, как опрашивать параметры в посте для определенных атрибутов. В моем основном файле у меня есть этот код:

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], что вы за класс? Тогда я могу относиться к каждому параметру соответственно. Имеет ли это смысл?

Ответы [ 2 ]

33 голосов
/ 08 апреля 2011

В Sinatra вы используете params для доступа к данным формы.Вы должны поместить нужные значения в переменную экземпляра, к которой вы можете обратиться из своего представления:

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

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

Я не уверен, отвечает ли это на ваш вопрос, но я надеюсь, что это поможет.

0 голосов
/ 14 сентября 2015

В дополнение к ответу Тодда, вы можете получить все параметры в экземпляре var i.e

@params = params 

и затем в поле зрения

вы можете сделать

<%=  @params[:title] %>
...