ruby-on-rails - software - ruby on rails tutorial
variable de instancia vs. símbolo en ruby on rails(form_for) (2)
Una posible razón es que hace que el código para el formulario cree una nueva publicación más similar al código de un formulario para actualizar una publicación existente.
Soy nuevo en ruby on rails y estoy trabajando con la versión 2.3 en mac osx. Estoy tratando de crear la misma funcionalidad que crea un andamio, pero por mi cuenta. Creé un controlador, una vista y un modelo de "publicación". en el controlador posterior, tengo lo siguiente:
class PostController < ApplicationController
def index
end
def new
@post = Post.new
end
end
en new.html.erb, tengo lo siguiente:
<h1>New Post</h1>
<% form_for :post do |f| %>
<%= f.text_field :title %>
<% end %>
Noté que en el código generado por el andamio, usa la variable de instancia @post para form_for helper. ¿Por qué usan la variable de instancia en la forma generada del andamio si pasan el símbolo: publicar en form_for hace exactamente lo mismo, mientras que un símbolo requiere cambiar la configuración de las rutas?
muchas gracias, yuval
si usas symbol: post it crea
<form action="/posts" method="post">
si usa la instancia @post
para @post = Post.new obtendrás
<form action="/posts/create" class="new_account" id="new_account" method="post">
para @post = Post.find (1) obtendrá
<form action="/posts/update" class="edit_account" id="edit_account_1" method="post">
<input name="_method" type="hidden" value="put">
si tiene diferentes formas para su nuevo y su edición no es gran cosa, pero más que sus nuevos y sus formularios de edición serán idénticos o cercanos a él
entonces si usa la variable de instancia @post puede poner todo el código de formulario en _form y simplemente llamar al parcial y manejará el resto en función de si pasa un nuevo registro o un registro existente