Consider the following code:
Snippet from my view…
<% for cc in @classified_categories %>
<%= link_to cc.description, :controller =>'classified_ads', :action
=> 'list', :id =>cc %> |
<% 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
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 %>
<%= link_to cc.description, :controller =>'classified_ads', :action
=> 'list', :id =>cc %> |
<% 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