我使用rails g scaffold来创建一组新的控制器,模型和视图,它允许用户输入一个int号。他们只能编辑唯一的号码,但不能创建新号码或删除它。
rails g scaffold number numa:integer
我想监视用户输入的内容,并比较数字并调用我之前创建的另一个控制器中的函数。但是,我对ruby上的rails很新,并且不知道如何做到这一点?
我非常确定用户输入的内容将存储在与新脚手架绑定的表中。表的名称是“数字”,唯一数字名称的唯一输入框是“numa”。我应该在另一个控制器(我们称之为“foods_controller.rb”)来访问该号码。也许numbers.numa
?
答案 0 :(得分:1)
首先,我建议弹出Ruby on Rails guide to ActiveRecord
要专门回答您的问题,请选择以下几种方法:
您可以通过模型监控表格内容。 (更可取的,可能)
尝试打开rails控制台(rails console
,rails c
或irb
),然后输入Number.all
,这将返回存储在中的所有Number记录的列表桌子。还有许多其他查询可以通过这种方式完成;查看ActiveRecord::Base API doc了解更多信息。
OR
您可以直接在您创建的数据库表上执行数据库查询。
编辑:由于您想在另一个控制器中执行此操作,请使用第一种方法,调用Number.all
以获取存储在数据库中的所有Number记录的列表。如果您只想要返回一条记录,也可以致电Number.first
,Number.last
或Number.find(<number_id>)
。