Почему simple_form не создает мои поля и вместо этого создает скрытые поля? - PullRequest
0 голосов
/ 05 апреля 2011

Это мой рубиновый код:

<%= simple_form_for([@video, @video.comments.new]) do |f| %>
  <% f.association :comment_title %>
  <% f.input :body %>
  <% f.button :submit %>
<% end %>

Это сгенерированная разметка HTML:

<form accept-charset="UTF-8" action="/videos/485/comments" class="simple_form comment" id="new_comment" method="post">
    <div style="margin:0;padding:0;display:inline">
        <input name="utf8" type="hidden" value="✓">
        <input name="authenticity_token" type="hidden" value="55xSU8JUe1SgipjAkAEvCvidFdJY3hv8Qz5VBqUSrdE=">
    </div>
    <input class="button" id="comment_submit" name="commit" type="submit" value="Create Comment">
</form>

Очевидно, что это неправильно создает поле ввода: body и список выбора ассоциации. Почему это и как я могу это исправить?

Кстати, у видео есть много комментариев, и комментарий принадлежит видео. Кроме того, у comment_title есть много комментариев, и комментарий принадлежит видео. Комментарий_ генерируется с виртуальными атрибутами.

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

Ответы [ 2 ]

3 голосов
/ 05 апреля 2011

Оба из-за выбора в вашем приложении рельсов.Во-первых, вы выбрали настройку приложения для использования utf8 для кодировки символов.Вторая причина заключается в том, что по умолчанию приложение настроено для защиты от атак подделки межсайтовых запросов.Токен подлинности гарантирует, что ответ, возвращающийся на сервер, когда пользователь отправляет форму, на самом деле от вас, а не от какого-либо другого источника, который просто наблюдает за вашим трафиком и отправляет сообщения, чтобы связать вашу базу данных.

2 голосов
/ 06 апреля 2011

Хорошо, проблема в том, что мне нужно было добавить "=" к <% = в моих элементах формы. </p>

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