Question

I use rails g scaffold to create a new group of controller, model and view, which allows users to input a int number. They can only edit the only number but not create a new one or delete it.

rails g scaffold number numa:integer

I would like to monitor what users input, and compare the number and call a function in another controller which I have already created before. However, I am quite new to rails on ruby, and do not have any idea about how to do that?

What I am pretty sure is that what users input will be stored in the a table which is bind with the new scaffold. The table's name is 'numbers', and the only inputbox for the only number's name is "numa". What should I do in another controller (lets call it "foods_controller.rb") to access the number. Maybe numbers.numa ?

Was it helpful?

Solution

First off, I recommend popping through the Ruby on Rails guide to ActiveRecord

To specifically answer your question, a couple of different options:

You can monitor the table contents through your model. (More preferable, probably)

Try opening up a rails console (rails console, rails c, or irb), and typing in Number.all, which will return a list of all Number records stored in the table. There are many other queries which can accomplished this way; check out the ActiveRecord::Base API doc for more info.

OR

You can perform database queries directly on the database table you created.

EDIT: Since you want to perform this in another controller, use the first method, calling Number.all to get a list of all Number records stored in your database. You can also call Number.first, Number.last or Number.find(<number_id>) if you only want a single record to be returned.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top