Forum: Rails-ES duda con el paso de variables desde un form a un controlador

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Rafa C. (Guest)
on 2009-03-13 15:29
Hola, a todos.

Estoy probando de recuperar un valor de una SELECT en una view de Rails.
El valor seleccionado lo quiero poder recuperar en el controlador con
session[:filteraccountmonth].

He provado el siguiente codigo y no funciona.

     <select name="session[filteraccountmonth]">
      <% for months in ['GENER','FEBRER','MARÇ','ABRIL','MAIG','JUNY']%>
        <option value=<%= months %>><%= months %></option>
      <% end%>
    </select>


Me podeis ayudar?

Rafa.
Andrés G. (Guest)
on 2009-03-13 15:58
(Received via mailing list)
Hola rafa, desde mi más humilde opinión, te recomiendo que te mires
algún
tutorial básico antes de meterte en faena. lo que tu quieres hacer creo
que
se hace con la ayuda de la variable [params] que es una variable que
comparten la vista y el controlador. intentare ponerte un ejemplo:

pon que tengo una vista con un formulario como este:

#new.html.erb
<% form_for(:comment, @comment, :url => user_post_comment_path(@user,
@post,
@comment)) do |f| %>
  <p>
    <b>Body</b><br />
    <%= f.text_area :body %>
  </p>
    <b>nombre</b><br />
    <%= f.input :name %>
  </p>

  <p>
    <%= f.submit "Create" %>
  </p>
<% end %>

Como ves lo que tengo es un form que solo tiene un text-area y un input.

Bien, estos valores los recupero en el controlador de la siguiente
forma:

  def create
    @comment = @post.comments.new(params[:comment])

    respond_to do |format|
      if @comment.save
        flash[:notice] = 'Comment was successfully created.'
        format.html { redirect_to(user_post_comment_url(@user, @post,
@comment)) }
        format.xml  { render :xml => @comment, :status => :created,
:location => @comment }
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @comment.errors, :status =>
:unprocessable_entity }
      end
    end
  end

Como ves estos valores han pasado de la variable params a la variable
@comment.

Creo que te lo he explicado bien.

Un saludo

El 13 de marzo de 2009 14:29, Rafa C.
<removed_email_address@domain.invalid>escribió:
Iván Belmonte (Guest)
on 2009-03-13 16:45
(Received via mailing list)
* En la vista:

   meses = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo, 'Junio']
   <%= select 'fecha', 'mes', meses, :promt => 'escoje un mes' %>


* En el controlador:

   session[:filteraccountmonth] = params[:fecha][:mes]


Salu2,

Iván
--
Real_men_dont_need_spacebars
This topic is locked and can not be replied to.