Hi, I have a search form that looks like this. (I posted this problem
yesterday, and I got a helpful response on how to do this in
javascript, but I''d like to try to do it in Ruby on Rails. I''d
like to
try to understand what''s going on with this error message.)
<div id="search_box" class="search_box">
<% form_for :search_term, :url => { :action => :search} do |f|
%>
<%= f.text_field ''search_term'' %>
<%= submit_tag ''Search'' %>
<% end %>
</div>
After a search is done, I''d like for a user to be able to do that
search again just by clicking on a link. Here''s my try at that:
<%= link_to(truncate(recent_search.search_term, 40), {:controller =>
''admin'', :action => ''search'',
:search_term =>
recent_search.search_term }, :method => :post ) %>
I get this error:
undefined method `stringify_keys!'' for "test search":String
What I think is happening here is that I''m trying to submit the key to
a hash, rather than the value. Is that right?
Charlie
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---
Charlie - "test search" is the value of the form''s search_term, right? i don''t see how you populate recent_search. what does recent_search.search_term.inspect return? On Jun 8, 4:19 pm, charlie caroff <charlie.car...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Hi, I have a search form that looks like this. (I posted this problem > yesterday, and I got a helpful response on how to do this in > javascript, but I''d like to try to do it in Ruby on Rails. I''d like to > try to understand what''s going on with this error message.) > > <div id="search_box" class="search_box"> > <% form_for :search_term, :url => { :action => :search} do |f| > %> > <%= f.text_field ''search_term'' %> > <%= submit_tag ''Search'' %> > <% end %> > </div> > > After a search is done, I''d like for a user to be able to do that > search again just by clicking on a link. Here''s my try at that: > > <%= link_to(truncate(recent_search.search_term, 40), {:controller => > ''admin'', :action => ''search'', :search_term => > recent_search.search_term }, :method => :post ) %> > > I get this error: > > undefined method `stringify_keys!'' for "test search":String > > What I think is happening here is that I''m trying to submit the key to > a hash, rather than the value. Is that right? > > Charlie--~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
charlie caroff
2007-Jun-08 22:15 UTC
Re: help with submitting a form by clicking on a link
Yes, "test search" is the value of the form''s search_term.
recent_search is coming out of an object in my controller -- maybe
this will make it clearer. Here''s the partial that I''m trying
to get
to render, with a link to a form submit:
<div id="pagination"
class="left_pagination"><%pagination_links(@recent_search_pages)
%></div>
<div id="recent_searches" class="left_column_header"
>Recent
Searches<div id="recent_searches"
class="left_column_listing">
<% for recent_search in @recent_searches %>
<div id="recent_search_item_<%= recent_search.id %>"
class="recent_search_listings" >
<div class="deleted_news_search_result_title">
<%= link_to(truncate(recent_search.search_term, 40), {:controller =>
''admin'', :action => ''search'',
:search_term =>
recent_search.search_term }, :method => :post ) %>
</div>
</div>
<% end %>
</div>
recent_search.search_term is an old search that a user did, that I
pull out of the database. It it indeed being pulled out of the
database -- I can see it right there on the page, because the
beginning of my link_to is that string, and it renders properly.
Maybe I don''t understand what you''re getting at.
Somehow I think this form is sending a value to a key:
> > <div id="search_box" class="search_box">
> > <% form_for :search_term, :url => { :action => :search}
do |f|
> > %>
> > <%= f.text_field ''search_term'' %>
> > <%= submit_tag ''Search'' %>
> > <% end %>
> > </div>
And my link is sending the key, which ruby is trying to stringify.
That''s all I can make of that error.
Charlie
On Jun 8, 2:55 pm, Mike
<mike.cah...-Wuw85uim5zDR7s880joybQ@public.gmane.org>
wrote:> Charlie -
>
> "test search" is the value of the form''s search_term,
right? i don''t
> see how you populate recent_search. what does
> recent_search.search_term.inspect return?
>
> On Jun 8, 4:19 pm, charlie caroff
<charlie.car...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>
> > Hi, I have a search form that looks like this. (I posted this problem
> > yesterday, and I got a helpful response on how to do this in
> > javascript, but I''d like to try to do it in Ruby on Rails.
I''d like to
> > try to understand what''s going on with this error message.)
>
> > <div id="search_box" class="search_box">
> > <% form_for :search_term, :url => { :action => :search}
do |f|
> > %>
> > <%= f.text_field ''search_term'' %>
> > <%= submit_tag ''Search'' %>
> > <% end %>
> > </div>
>
> > After a search is done, I''d like for a user to be able to do
that
> > search again just by clicking on a link. Here''s my try at
that:
>
> > <%= link_to(truncate(recent_search.search_term, 40), {:controller
=>
> > ''admin'', :action => ''search'',
:search_term =>
> > recent_search.search_term }, :method => :post ) %>
>
> > I get this error:
>
> > undefined method `stringify_keys!'' for "test
search":String
>
> > What I think is happening here is that I''m trying to submit
the key to
> > a hash, rather than the value. Is that right?
>
> > Charlie
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---
hm. maybe i''m too new to this to be useful. i''m confused that your form_for takes :search_term, and your text field inside the form does too. i thought form_for took the name of an object that _contained_ attributes whose names map to fields. so it''s looking for search_term.search_term? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---