hi forum,
I am new to rails, and i am just getting my hang of things.
Problem,
how do you pass content captured in a form to a custom method?
I have the following form:
<% form_for :message, @message, :url => { :action =>
''reply''} do |f|
%>
<table cellpadding="4" cellspacing="5">
<tr>
<td>Content:<%= f.text_area :body %></td>
<tr>
<td><%= submit_tag "Send" %></td>
</tr>
</table>
<% end %>
this form is posting to a method called reply(), reply will need to take
the :body from the message, so the incoming request parameters look like
this:
{"message"=>{"body"=>"this is the reply"},
"commit"=>"Send",
"authenticity_token"=>"e2a058071a4037d85008f46b35818e160f5230ce"}
how do i retrieve "body"=>"this is the reply" from the
request in the
reply action?
any tips are appreciated!
~zonman
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
You can use a book on Rails like the one from Pragmatic Programmers. There are many nice features in the framework that need explanation and you are missing out on what Rails has to offer by hack and slash which constraints your thinking to the other frameworks you are used to. To answer your question, assuming the form is for the object of type Message, you can do a xyz=Message.new(params[:message]) in your controller and access the attribute normally. On Sep 9, 2:59 pm, Paul Li <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> hi forum, > > I am new to rails, and i am just getting my hang of things. > > Problem, > how do you pass content captured in a form to a custom method? > > I have the following form: > > <% form_for :message, @message, :url => { :action => ''reply''} do |f| > %> > <table cellpadding="4" cellspacing="5"> > <tr> > <td>Content:<%= f.text_area :body %></td> > <tr> > <td><%= submit_tag "Send" %></td> > </tr> > </table> > <% end %> > > this form is posting to a method called reply(), reply will need to take > > the :body from the message, so the incoming request parameters look like > this: > > {"message"=>{"body"=>"this is the reply"}, > "commit"=>"Send", > "authenticity_token"=>"e2a058071a4037d85008f46b35818e160f5230ce"} > > how do i retrieve "body"=>"this is the reply" from the request in the > reply action? > > any tips are appreciated! > > ~zonman > -- > Posted viahttp://www.ruby-forum.com/.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
In general, the params hash (method ''params'') is always
available to
your controller actions. You literally wrote how your params hash
looks like (your incoming request parameters), so it''s just plain Ruby
code to retrieve the contents of the hash:
params[:message] returns the hash {''body'' => ''this
is the reply''}
so params[:message][''body''] would give you the string
''this is the
reply''
Beside checking a Rails book, I found that most useful is a good grasp
of Ruby itself (the ''pickaxe'' book is a good start). You can
learn
Rails pretty much on the go, but good Ruby skills are really valuable
to move on quickly.
On Sep 9, 12:04 pm, Mukund
<marut...-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>
wrote:> You can use a book on Rails like the one from Pragmatic Programmers.
> There are many nice features in the framework that need explanation
> and you are missing out on what Rails has to offer by hack and slash
> which constraints your thinking to the other frameworks you are used
> to.
>
> To answer your question, assuming the form is for the object of type
> Message, you can do a xyz=Message.new(params[:message]) in your
> controller and access the attribute normally.
>
> On Sep 9, 2:59 pm, Paul Li
<rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:
>
> > hi forum,
>
> > I am new to rails, and i am just getting my hang of things.
>
> > Problem,
> > how do you pass content captured in a form to a custom method?
>
> > I have the following form:
>
> > <% form_for :message, @message, :url => { :action =>
''reply''} do |f|
> > %>
> > <table cellpadding="4" cellspacing="5">
> > <tr>
> > <td>Content:<%= f.text_area :body %></td>
> > <tr>
> > <td><%= submit_tag "Send" %></td>
> > </tr>
> > </table>
> > <% end %>
>
> > this form is posting to a method called reply(), reply will need to
take
>
> > the :body from the message, so the incoming request parameters look
like
> > this:
>
> > {"message"=>{"body"=>"this is the
reply"},
> > "commit"=>"Send",
> >
"authenticity_token"=>"e2a058071a4037d85008f46b35818e160f5230ce"}
>
> > how do i retrieve "body"=>"this is the reply"
from the request in the
> > reply action?
>
> > any tips are appreciated!
>
> > ~zonman
> > --
> > Posted viahttp://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---