How to create a simple loop counter


#1

Hi all,

 as you may have gathered I am a newbie to rails and programming. I

want to count the number of enquiries in the database and produce it as
a number in the view preferably in the index page. All I want is the
number of items in the database and everytime ones added or deleted the
number will go up or down.

Something like this:

Enquries Today: ‘whatever the number of them are’

Thank you clever people!!!

Your help you been greatly appreciated


#2

On 17 Mar., 16:05, Nish P. removed_email_address@domain.invalid
wrote:

Enquries Today: ‘whatever the number of them are’

Thank you clever people!!!

Assuming the name of your model is Item, you can do it this way:

Enquries Today: <%= Item.count %>

Just replace “Item” with whatever your model is called. #count is a
method provided by ActiveRecord, that will return the number of
records in the table that the table belongs to, “items” for example.


Cheers,
David K.
http://twitter.com/rubyguy


#3

On 17 Mar., 16:27, “removed_email_address@domain.invalid” removed_email_address@domain.invalid wrote:

Just replace “Item” with whatever your model is called. #count is a
method provided by ActiveRecord, that will return the number of
records in the table that the table belongs to, “items” for example.

  • in the model that the table belongs to, “items” for example.

#4

On 17 Mar., 16:28, “removed_email_address@domain.invalid” removed_email_address@domain.invalid wrote:

Thank you clever people!!!

Assuming the name of your model is Item, you can do it this way:

Enquries Today: <%= Item.count %>

Just replace “Item” with whatever your model is called. #count is a
method provided by ActiveRecord, that will return the number of
records in the table that the table belongs to, “items” for example.

  • in the model that the table belongs to, “items” for example.

Argh, in the table that model belongs to, of course. So sorry. :confused:


#5

removed_email_address@domain.invalid wrote:

On 17 Mar., 16:28, “removed_email_address@domain.invalid” removed_email_address@domain.invalid wrote:

Thank you clever people!!!

Assuming the name of your model is Item, you can do it this way:

Enquries Today: <%= Item.count %>

Just replace “Item” with whatever your model is called. #count is a
method provided by ActiveRecord, that will return the number of
records in the table that the table belongs to, “items” for example.

  • in the model that the table belongs to, “items” for example.

Argh, in the table that model belongs to, of course. So sorry. :confused:

Hi thankyou for that very quick reply but I getting:

undefined method `count’ for #Enquiry:0x41698fc

I am placing this in my index page like this:

Enquries Today: <%= enquiry.count %>

thanks again


#6

Thank you for your help, that works fine now!!


#7

On 17 Mar., 16:33, Nish P. removed_email_address@domain.invalid
wrote:

method provided by ActiveRecord, that will return the number of
I am placing this in my index page like this:

Enquries Today: <%= enquiry.count %>

Oh, that’s probably because “enquiry” is a local variable. You need to
call the #count class method on your model. So you’ll have to do it
like this:

Enquries Today: <%= Enquiry.count %>

Notice, I use a capital E. The #count method is not available on
instances of Enquiry (a specific record in your database), but as a
class method of your model. “Enquiry” in your case.


Cheers,
David K.
http://twitter.com/rubyguy