Thursday, February 23, 2012

[Rails] Re: Undefined Method

Valery Kvon wrote in post #1048505:
> On 23.02.2012, at 22:23, Roger Patrick wrote:
>
>> website I receive the following error message which I assume is to say
>> activerecord is not connecting:
>>
>> undefined method `find_by_console' for
>> #<WillPaginate::Collection:0x52cb9d8>
>
> At first, .find_by_<attr_name> is a ActiveRecord::Relation's method.
> That is why it doesn't responded.
> At second, this method is a "lazy" method, oriented to return _just_one_
> instance, corresponding to condition. Is that your app-logic? I don't
> think so..
>
> So, your way is:
>
> games_relation = case params[:console].present?
> when true then Game.where(:console => params[:console])
> else Game
> end
> @games = games_relation.paginate(:per_page => 4, :page =>
> params[:page]).search(params[:search])

Ok thanks for your feedback, so of what I have understood in my
gamescontroller.rb I will have the following:

def index
@games = games_relation.paginate(:per_page => 4, :page =>
params[:page]).search(params[:search])
end

in my game.rb file I will have the following:

games_relation = case params[:console].present?
when true then Game.where(:console => params[:console])
else Game
end


and in my index.html.erb I will have the following:

<%= link_to 'DREAMCAST', games_path(:console => 'Dreamcast')%>


please correct me if I am wrong. Thanks for your help.

--
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@googlegroups.com.
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.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate