[Rails] Re: Passing a Record as a Parameter
Greg Greaves
greg.greaves at gmail.com
Sat Apr 1 13:37:15 GMT 2006
I changed it so that instead of trying to pass the entire record, I just
pass the id and then in the controller, do a
ClassifiedCategory.find(params[:id])
and it works ok. But this is unnecessary DB i/o if it can be avoided by
just passing the record.
-Greg
Greg Greaves wrote:
> Consider the following code:
>
> Snippet from my view....
>
> <% for cc in @classified_categories %>
> <tr>
> <td><%= link_to cc.description, :controller =>'classified_ads', :action
> => 'list', :id =>cc %></td>
> </tr>
> <% end %>
>
> ... end snippet
>
> the relevant bit is :id =>cc
>
> Snippet from my controller...
>
> def list
> @classified_category = ClassifiedCategory.new(params[:id])
> session[:classified_category_id] = @classified_category.id
> session[:classified_category_name] = @classified_category.name
>
> @classified_ad_pages, @classified_ads = paginate :classified_ads,
> er_page => 10
>
> end
>
> ... end snippet
>
> When I run it, I get the following error on the first line of the list
> action for the controller:
>
> undefined method `stringify_keys!' for "1":String
>
> It works fine if I just pass the actual id of the record as a parameter
> (:id => cc.id) but I'd like to pass the entire record if that's
> possible. Any suggestions?
>
> -Greg
--
Posted via http://www.ruby-forum.com/.
More information about the Rails
mailing list