Есть ли способ для контроллера получить значения из формы в вашем представлении, прежде чем она будет сохранена? - PullRequest
0 голосов
/ 03 июня 2010

Я предполагаю, что значения должны быть переданы обратно в контроллер для использования, но все, что я пробовал, похоже, получает только те значения, которые уже сохранены в БД.

1 Ответ

2 голосов
/ 03 июня 2010

При отправке формы контроллер всегда будет иметь доступ к хешу, называемому «params», который будет содержать все отправленные данные.

Например, если ваша форма содержит текстовое поле с именем «foo»

<input type="text" name="foo" />

значение может быть получено в контроллере с помощью

fooValue = params[:foo]

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

в вашей форме:

<% form_for :person, @person, :url => { :action => "create" } do |f| %>
  <%= f.text_field :first_name %>
  <%= f.text_field :last_name %>
  <%= submit_tag 'Create' %>
<% end %>

затем в вашем контроллере:

@newPerson = Person.new(params[:person]; #this will pass the whole group of values within that person form to the "new" method
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...