У меня есть контроллер с именем Welcome with view, называемый индексом.Сохранение значения пользовательского ввода в контроллере
В моем индексном представлении я создал небольшую форму как таковую.
<%= form_for :location do |f| %>
<%= f.label :Longitude %><br>
<%= f.text_field :integer %>
<br>
<br>
<%= f.label :Latitude %><br>
<%= f.text_field :integer %>
<p>
<%= f.submit %>
</p>
<% end %>
В этом виде пользователь может ввести целое значение для долготы и широты. Как только пользователь вводит значение для долготы и широты. Нажмите кнопку «Отправить». После отправки я хотел бы сохранить эти значения в моем контроллере. Поэтому я использую следующий метод, когда у меня есть две переменные экземпляра, принимающие значения из формы.
def index
@long = params[:longitude]
@lat = params[:latitude]
end
В моей routes.rb меня
get 'welcome/index'
post 'welcome/index'
Пожалуйста, скажите мне, где я пошло не так. Также, если кто-то может предложить лучший способ сделать это, также я был бы признателен, что я новичок в рельсах, и я хочу узнать правильный способ делать вещи, поэтому я не создаю вредных привычек на ранней стадии.
А вы правы, я сделал ошибку, там хорошо, что имеет большой смысл, но после внесения предложенных изменений я пошел к моему контроллеру и сделал это @long = params [: location] [: longitude], я получил ошибку говоря undefined method '[] 'для nil: NilClass – user1010101
@Learner проверяет ваш html, чтобы узнать, что такое имена полей, а затем загляните в журнал сервера rails - он отобразит параметры почтового запроса. – idlefingers
, кажется, указывает, что «NoMethodError (неопределенный метод' [] 'для nil: NilClass): app/controllers/welcome_controller.rb: 4: in 'index'" – user1010101