Вопрос о форме - PullRequest
       18

Вопрос о форме

2 голосов
/ 10 августа 2009

Что буквально означает конструкция [@ post, Comment.new] ? Я использую его (видел в подкасте или где-то еще), но я все еще не совсем понимаю, что это значит? Что буквально произойдет, если мы нажмем кнопку «Отправить» (конечно, комментарий добавлен, но меня интересует внутренняя механика и как она связана с упомянутой конструкцией)?

<% form_for [@post,Comment.new] do |f| %>
   <p>
      <%= f.label :message %><br />
      <%= f.text_area :message %>
   </p>
   <p>
      <%= f.submit 'Post comment' %>
   </p>
<% end %>

1 Ответ

0 голосов
/ 10 августа 2009

Хотя в стандартной документации неясно, некоторые люди опубликовали полезные комментарии, поясняющие, какую функцию это выполняет. Пример: http://apidock.com/rails/ActionView/Helpers/FormHelper/form_for

Это связано с созданием маршрута, который находится либо в правильном пространстве имен, либо потому, что путь к конкретному ресурсу включает два компонента.

В случае, если вы цитируете, маршрут будет выглядеть примерно так:

/posts/:post_id/comments/

При редактировании комментария к записи:

/posts/:post_id/comments/:id

Это отличается от маршрута, сгенерированного для предоставления только Comment.new:

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