Pregunta

En rails, es recomendable hacer uso de forma ayudantes?Internamente, todo se reduce a la llanura de html, entonces ¿por qué no escribir el código html directamente?El rendimiento obviamente será mejor en la escritura directa html que el uso de ayudantes.Es mediante el formulario de ayudantes como una convención o algo que los desarrolladores rails debe seguir?

¿Fue útil?

Solución

Definir rendimiento. ¿Su rendimiento o las aplicaciones? Supongamos que tiene el mismo fragmento de rhtml distribuido en sus vistas. Digamos que lo tienes en miles de lugares. Tal vez ni siquiera lo haya obtenido exactamente en todos los lugares. Ahora su cliente quiere cambiar esto (tal vez un orden de presentación diferente o algo así). Te llevará un tiempo hacer esto en todas las vistas, ¿verdad? Y es probable que no lo haga bien la primera vez. De hecho, es probable que sigas recibiendo informes de errores en los próximos años en lugares que no has cambiado.

El cliente terminará pagando mucho por el " rendimiento " ;. Quizás cientos de horas de trabajo. Tal vez decenas de miles si evita el principio DRY por principio. Piense en todos los servidores y toda la RAM que podría comprar para esas horas de trabajo. Si lo gastara todo en hardware, su aplicación podría ejecutarse cientos de veces más rápido. Piense en todas las cosas divertidas con las que podría estar trabajando en lugar de burlarse de cambiar fragmentos de HTML.

Otros consejos

Creo que los ayudantes de forma son un reflejo del principio DRY (no te repitas). En lugar de escribir el mismo código para realizar tareas similares, crear un formulario auxiliar que le permita reutilizar ese código es el camino a seguir. De esa manera, si necesita hacer un cambio o una solución, solo necesita hacerlo en un solo lugar. También ayuda a que su código sea más compacto y legible para abstraer una acción compleja en un formulario auxiliar. Lo mismo ocurre con las vistas parciales, aunque las vistas parciales tienden a encapsular marcas más complejas que un asistente de formulario.

El formulario de ayudantes son especialmente útiles para permitir que los rieles de la manija de la creación de formas basado en su modelo.Para citar el ejemplo de la documentación de la API:

El siguiente código

<% form_for :person, @person, :url => { :action => "create" } do |f| %>
  <%= f.text_field :first_name %>
  <%= f.text_field :last_name %>
  <%= submit_tag 'Create' %>
<% end %>

genera este html

<form action="/persons/create" method="post">
  <input id="person_first_name" name="person[first_name]" size="30" type="text" />
  <input id="person_last_name" name="person[last_name]" size="30" type="text" />
  <input name="commit" type="submit" value="Create" />
</form>

Podría escribir el código html por sí mismo, pero utilizando el formulario de ayudantes que tiene que escribir menos y hacer de la creación de la forma menos dependiente de los rieles de la aplicación.Usted siempre obtener un formulario en el que escribe los datos en el modelo cuando se pulsa el botón enviar.Si los desarrolladores rails nunca cambio la aplicación de la presente, usted obtiene automáticamente el código html correcto de salida de sus ayudantes.Si hubiera escrito el código html manualmente, usted tendría que actualizar todo para reflejar los cambios en el funcionamiento interno de los rieles.

Sus parece bien cuando un desarrollador tiene el mismo nombre de la clase,de identificación y de ningún valor para un campo de entrada, si necesita diferentes identificador de llamadas con nombre y también dar valor, entonces él tiene que escribir <%= text_field_tag "nombre": valor=>"valor", :id=>"id" ,:class=>""class %> y para el mismo html puede ser < input type ="text" value ="valor" class="clase" name ="nombre" id="id"/> ahora creo que la sobrecarga de 1. evaluar primer ayudante en html 2. ahora también considerar la longitud de que en ayudante también tenemos que escribir :, => 3. a veces se olvida de usar :o , por error por tanto, creo que prefiero html en ese caso Y una cosa si su servidor de conseguir un montón de solicitud que se le hizo demasiado ocupado y el tiempo de respuesta será mayor porque <%= %> debe tener para ejecutar

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top