Как получить атрибуты params в записи?

Я использую 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 ответа

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

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

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

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

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

@params = params 

и затем в представлении

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

<%=  @params[:title] %>
Другие вопросы по тегам