Привет, ребята, я новичок в Ruby. Я пытаюсь создать форму с формой строителя Какова разница междуRuby on rails forms_for
<%=form_for @post %>
и
<%=form_for :post %>
Привет, ребята, я новичок в Ruby. Я пытаюсь создать форму с формой строителя Какова разница междуRuby on rails forms_for
<%=form_for @post %>
и
<%=form_for :post %>
form_for
создает экземпляр form builder object:
объектFormBuilder связан с конкретный объект модели и позволяет создавать поля, связанные с объектом модели. Объект FormBuilder является получен при использовании form_for или fields_for
@post
является переменным экземпляром. :post
не
Это означает, что при загрузке <%= form_for @post %>
, вы заселение объект формы строитель с данными из экземпляра (что позволяет Rails поддерживать данные, когда у вас есть ошибки и т.д.)
Если вы» повторно уверены @instance_variables
в Ruby, вы можете захотеть, чтобы проверить Ruby On Rails beginners' guide
, если вы будете использовать символ: пост как
<%=form_for :post %>
тогда это создать
<form action="/posts" method="post">
, если вы будете использовать экземпляр @post как
<%=form_for @post %>
затем создать
<form action="/posts/create" class="class_name" id="id_name" method="post">
Я думаю, когда модель представлена строкой или символом, если параметр: url не указан, по умолчанию форма будет отправлена обратно на текущий URL-адрес –
так что: пост? – franchez
Это может быть много вещей (к сожалению, я не могу дать краткий ответ). Вот вам действительно хорошая ссылка: http://stackoverflow.com/questions/2341837/understanding-symbols-in-ruby –
Я знаю только: символы: используются главным образом для определения аргументов для методов Rails (IE '<% = form_for @post, method:: post%> ' –