Forum: Ruby on Rails How to get select_tag value in controller?

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.
7fbd0e99b27064b14793f028022974e5?d=identicon&s=25 Zhao Yi (youhaodeyi)
on 2008-12-28 14:08
I use select_tag to create a selection box in a view and how can I get
the current selection value in its controller? For example:

select_tag:project_selection,options_for_select(@project_names),
          :onchange
=>remote_function(:update=>'posts',:loading=>'false',
          :url => { :action => :update_project_selection })

in the action "update_project_selection", how can I get the current
selection?

thanks,
79ad5a1770c5cf086735a10ef7db6598?d=identicon&s=25 zero0x (Guest)
on 2008-12-28 14:11
(Received via mailing list)
Check source code and find <select name="xxx">

The xxx value is what you can access with params[:xxx]

--

Good advice: Download Firebug plugin for Firefox, which shows all the
communication between page and server, and you'll see all the POST
variables with the values :)

On 28. Dec., 14:08 h., Zhao Yi <rails-mailing-l...@andreas-s.net>
7fbd0e99b27064b14793f028022974e5?d=identicon&s=25 Zhao Yi (youhaodeyi)
on 2008-12-28 14:34
zero0x wrote:
> Check source code and find <select name="xxx">
>
> The xxx value is what you can access with params[:xxx]
>
> --
>
> Good advice: Download Firebug plugin for Firefox, which shows all the
> communication between page and server, and you'll see all the POST
> variables with the values :)
>
> On 28. Dec., 14:08 h., Zhao Yi <rails-mailing-l...@andreas-s.net>

In this case:

select_tag: project_selection,options_for_select(@project_names),
:onchange =>remote_function(:update=>'posts',:loading=>'false',  :url =>
{ :action => :update_project_selection })

the name should be "project_selection", but in its controller I print
the params keys:

params.keys.each{|k|puts k}

there is not such key named "project_selection".
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2008-12-28 14:39
(Received via mailing list)
On 28 Dec 2008, at 13:34, Zhao Yi wrote:

>> variables with the values :)
> the name should be "project_selection", but in its controller I print
> the params keys:
>
You have to tell remote function what to submit, it's not going to
guess for you.
This is what the :with option for remote_function is for. Check the
docs for link_to_remote for some examples, I've got some extra ones at
http://www.spacevatican.org/2008/5/17/with-or-with...
  too

Fred
7fbd0e99b27064b14793f028022974e5?d=identicon&s=25 Zhao Yi (youhaodeyi)
on 2008-12-28 15:04
Frederick Cheung wrote:
> You have to tell remote function what to submit, it's not going to
> guess for you.
> This is what the :with option for remote_function is for. Check the
> docs for link_to_remote for some examples, I've got some extra ones at
> 
http://www.spacevatican.org/2008/5/17/with-or-with...
>   too
>
> Fred

If I added :with in the select_tag:

:with=>"'project_selection=+'XXX"

what's value should I use for the current selection?
79ad5a1770c5cf086735a10ef7db6598?d=identicon&s=25 zero0x (Guest)
on 2008-12-29 13:00
(Received via mailing list)
I suppose you're using prototype, so you just need to get the value of
the select box.

$("id-of-the-element").getValue()



On 28. Dec., 15:04 h., Zhao Yi <rails-mailing-l...@andreas-s.net>
7fbd0e99b27064b14793f028022974e5?d=identicon&s=25 Zhao Yi (youhaodeyi)
on 2008-12-31 12:50
zero0x wrote:
> I suppose you're using prototype, so you just need to get the value of
> the select box.
>
> $("id-of-the-element").getValue()
>
>
>
> On 28. Dec., 15:04 h., Zhao Yi <rails-mailing-l...@andreas-s.net>

How can I send more than one parameters?
79ad5a1770c5cf086735a10ef7db6598?d=identicon&s=25 Vojtech Rinik (Guest)
on 2008-12-31 12:56
(Received via mailing list)
By sending JSON:

{name: value, name1:value1, ... }

in your case

{name: $("id-of-the-element").getValue()}

or something similiar.

On 31.12.2008, at 12:50, Zhao Yi wrote:

>> On 28. Dec., 15:04 h., Zhao Yi <rails-mailing-l...@andreas-s.net>
>
> How can I send more than one parameters?
> --
> Posted via http://www.ruby-forum.com/.
>
> >

Vojtech Rinik: Web Developer
vojtech@infinite.sk | +421 670899
79ad5a1770c5cf086735a10ef7db6598?d=identicon&s=25 Vojtech Rinik (Guest)
on 2008-12-31 13:09
(Received via mailing list)
Oh I'm sorry that was probably wrong advice :)

Forget about it.

I just realized, that you're sending a http query, which looks like:

name=value&name1=value1&...


So it's pretty simple:

query = "name="+...+"&name1="+...

On 31.12.2008, at 12:50, Zhao Yi wrote:

>> On 28. Dec., 15:04 h., Zhao Yi <rails-mailing-l...@andreas-s.net>
>
> How can I send more than one parameters?
> --
> Posted via http://www.ruby-forum.com/.
>
> >

Vojtech Rinik: Web Developer
vojtech@infinite.sk | +421 670899
This topic is locked and can not be replied to.