我目前正在Rails中构建一个使用API的应用程序,最近我不得不生成一个模型并将一些记录保存到"解决"一些问题,但我现在没有遇到这个问题,所以我想问一下。
答案 0 :(得分:0)
在我的情况下(使用API),最好不要使用数据库吗?
大多数类型的应用程序都需要某种长期存储 - 我会说不需要它的情况更多的例外 - 所以不能说你不能使用数据库是一种很好的做法。
即使您使用外部API作为持久层,您仍然希望将应用程序中的模型作为业务逻辑的持有者。 rails中的模型不仅仅是存储 - 它们还构建了实际域,并为其中的对象设置规则和关系。
在Rails中,ActiveModel和默认的ORM ActiveRecord是独立的实体 - ActiveModel在没有AR的情况下工作正常。
# A rails model without ActiveRecord
class Pet
include ActiveModel::Model
attr_accessor :name
validates :name, presence: true
end
另外,您可能希望使用某种持久性(例如memcached或redis)来提高性能并减少API请求的数量。
如果上面的答案是肯定的,那么我可以删除哪些文件以使我的Rails项目尽可能干净?
您可以使用--skip-active-record
选项rails new someapp -O
生成不带ActiveRecord的rails应用。要从现有应用程序中删除ActiveRecord,您将从config/application.rb
中删除Gemfile和中间件中的相关gem。