ruby-on-rails - text_field_tag - select rails
cómo establecer el atributo de clase con form_tag en rieles (5)
En Rails 5, puede hacer lo siguiente:
<%= form_tag(your_named_path, {class: ''form-inline''}) do %>
<% end %>
Tengo la siguiente línea de haml:
=form_tag :action => ''create'', :controller => ''comments'', :class => ''comment_form'' do
Pero el html que obtiene salida es:
<form accept-charset="UTF-8" action="/comments?class=comment_form" method="post"></form>
Quiero establecer la clase ¿Cómo hago esto?
<- Actualización ->
Con este:
=form_tag ({ :action => ''create'', :controller => ''comments'' }, { :class => ''comment_form'' }) do
Me sale este error:
syntax error, unexpected '','', expecting '')''
...'', :controller => ''comments'' }, { :class => ''comment_form'' }...
<- Segunda actualización ->
El problema anterior es el espacio entre ''form_tag'' y ''('' la respuesta de @ woahdae es correcta
En caso de que encuentre esta pregunta y realmente quiera resolver el nombre de la clase para un form_for :
<%= form_for @task, html: {:class => "custom_class"} do |f| %>
Esto funciona para mí:
form_tag named_route, :method => :put, :class => ''disable_on_submit''
Con Rails 3.0.15
Puedes hacer lo siguiente:
form_tag your_path, method: :get, id: "your_id", class: "your_class" do
end
form_tag toma 2 hashes de opciones, el primero se pasa a url_for , el segundo se pasa al generador de formularios.
Entonces, tienes que hacerlo como:
= form_tag({:action => ''create'',...}, {:class => ''comment_form''}) do
de lo contrario, Rails piensa que todos los pares clave / valor son para url_for, que agregará cualquier clave que no comprenda como parámetros de consulta.