select_tag внутри формы всегда отправляет пустую строку - PullRequest
1 голос
/ 23 февраля 2012

Я хочу предоставить некоторую информацию, которая не является столбцом модели, поэтому я использую select_tag:

= form_for [:admin, @post] do |f|
  = f.error_messages

  %p
    = select_tag :category_name, options_from_collection_for_select(Category.all, :id, :category_name)
  ...

Он генерирует HTML, который выглядит правильно:

<form id="edit_post_1" class="edit_post" method="post" action="/admin/admin_posts/1" accept-charset="UTF-8">
<div style="margin:0;padding:0;display:inline">
<p>
<select id="category_name" name="category_name">
<option value="6">City</option>
<option value="7">College</option>
<option value="8">Sports</option>
<option value="9">Work</option>
</select>
</p>
<p>
<label for="subcat_prefix">Subcategory Name</label>

Но контроллер Rails всегда видит "category_name"=>"", в параметрах.Я упускаю что-то очевидное, но что?

Редактировать: регистрация сервера при отправке:

Started POST "/admin/admin_posts/1" for 127.0.0.1 at 2012-02-22 15:06:52 -0800
  Processing by Admin::AdminPostsController#update as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"CmG+YPFuaKfg+liipxJI6PKQHmbdJ4m2VtJmeD2dRqk=", "post"=>{"subcat_prefix"=>"In", "subtopic_name"=>"City perferendis", "post_content"=>"Explicabo dolor totam fuga voluptatem nam voluptatibus voluptatibus beatae aliquam ducimus et voluptate deleniti dignissimos et. Eum ipsam quos quo voluptas laboriosam delectus adipisci veniam similique libero eaque dolor dolorem libero autem ex aliquam non"}, "category_name"=>"", "commit"=>"Update Post", "id"=>"1"}

Ответы [ 2 ]

3 голосов
/ 23 февраля 2012

Может быть другое поле с тем же именем ниже, которое перезаписывает значение.

Проверьте с помощью document.querySelectorAll('[name=category_name]') в консоли js.

2 голосов
/ 23 февраля 2012

вместо

select_tag :category_name

попробовать

f.select :category_name

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