Получить данные из параметров формы - PullRequest
4 голосов
/ 10 марта 2011

Я новичок в рельсах и рубине.Я пытаюсь сделать простой проект и имею эту проблему.У меня есть представление с некоторыми текстовыми полями на нем, когда я нажимаю кнопку отправки, в моем контроллере мне нужны значения из этих полей в виде строк, я пытаюсь таким образом params[:field1], но значение в этом формате {"field1" => "some_value"}, это не строка, и у меня есть проблемы с ней.Как я могу решить это?

UP: посмотреть код

<%= form_tag :action=>:login_user do %>
    <div class="field">
        <h2>Login</h2>
        <%= text_field "field1", "field1" %>
    </div>

    <div class="field">
        <h2>Password</h2>
        <%= password_field "field2", "field2" %>
    </div>

    <div class="actions">
        <%= submit_tag "Login" %>
    </div>

    <% end %>

Ответы [ 3 ]

6 голосов
/ 10 марта 2011
params[:field1]

- правильный путь.

Ваши параметры - это хеш:

params => {"field1"=>"some_value"}

, поэтому, чтобы получить field1, вы должны позвонить params[:field1]

UPD

Для вашей структуры (что на самом деле плохо) вы должны вызывать параметры следующим образом:

params[:field1][:field1]
params[:field2][:field2]

лучше использовать text_field_tag и password_field_tag в вашемcase:

<%= text_field_tag :field1 %>
<%= password_field_tag :field2 %>
5 голосов
/ 10 марта 2011

Попробуйте использовать так:

<%= text_field_tag "field1" %>
<%= password_field_tag "field2" %>
1 голос
/ 10 марта 2011

Используя код, который вы вставили, вы должны получить доступ к нему как params[:field1][:field1] и params[:field2][:field2].Итак, как предложил Ашиш, вы должны использовать text_field_tag.Или обычным способом Rails, используйте form_for, чтобы связать оба поля с одним ключом, и используйте update_attributes или create.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...