tutorial software rails ejemplos curso caracteristicas ruby-on-rails

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