jjzjj

DataMapper

全部标签

Ruby & Datamapper 检查记录是否存在,以及在哪里?

我有一个基本的Ruby应用程序,我正在使用Sinatra、Datamapper构建它,并使用OAuth进行用户身份验证。当我从Oauth服务收到返回的数据时,我将新用户的记录保存在sqlite3数据库中。我不知道该怎么做的是如何验证用户数据库表中不存在的用户记录。我可以使用用户的唯一ID(uid)来交叉检查uid是否已存储,但我只是不确定在哪里执行此操作。我有2个类和一个/callback路由。User类是数据库模型,Authentication类有各种方法连接到OAuth,/callback路由将有正在调用的Authentication.save方法。我是否应该在Authentica

ruby - 如何使用 DataMapper 更好地优化多对多关联查询?

DataMapper似乎正在为使用连接表的关联生成严重次优的查询。我可以做些什么来提高这些查询的性能?请注意,它也使用隐式连接表生成相同的查询(:through=>Resource)这是我的设置:classLeftincludeDataMapper::Resourceproperty:id,Serialhasn,:joinshasn,:rights,:through=>:joinsendclassJoinincludeDataMapper::Resourcebelongs_to:left,:key=>truebelongs_to:right,:key=>trueendclassRigh

DataMapper "DataObjects::URI.new with arguments is deprecated..."的 Ruby 问题

当我在datamapper1.1.0中初始化一个字符串时DataMapper.setup(:default,"sqlite://#{Dir.pwd}/base.db")我在数据映射器中收到以下错误:DataObjects::URI.newwithargumentsisdeprecated,useaHashofURIcomponents(C:/Ruby192/lib/ruby/gems/1.9.1/gems/dm-do-adapter-1.1.0/lib/dm-do-adapter/adapter.rb:231:in`new')这是为什么? 最佳答案

ruby - Datamapper TEXT 默认限制为 65k 个字符——如何提高限​​制?

我有一个类需要包含最多约30万个字符的TEXT,它存储在PostgreSQL数据库中。Postgres本身对兆字节的blob没有问题,(最终我会将它们存储在S3中),但Datamapper对文本的默认限制为“65k个字符”:Bydefault,DataMappersupportsthefollowingprimitivetypes:TrueClass,BooleanStringText(limitof65kcharactersbydefault)我想做类似的事情property:id,Serialproperty:name,String,:index=>trueproperty:pos

ruby - 从Datamapper开始,关联问题

我刚刚深入研究Datamapper(和Sinatra)并且有一个关于关联的问题。下面是我有的一些模型。这就是我想要实现的。我对Workoutitems和Workout有疑问。锻炼将单独管理,但Workoutitems的每一行都有一个锻炼。锻炼-只是一系列类型锻炼(运行、举重、仰卧起坐等)选定的锻炼-这个是一组锻炼的名称,连同用户的注释和培训师。它有一个集合N锻炼项目锻炼项目-这需要锻炼和锻炼集中的重复次数。classWorkoutincludeDataMapper::Resourceproperty:id,Serial#PKidproperty:name,String,:length=

ruby - 如何使用DataMapper `NOT LIKE` 子句?

我在Sinatra项目中使用DataMapper。我希望能够在DataMapper查找器方法中使用NOTLIKE语句,但不知道如何操作。人们可能会想象这会起作用:@people=People.all(:female=>1,:name.like.not=>'%julie%')...但是DataMapper抛出错误。调换not和like的顺序没有帮助。有什么办法解决这个问题吗? 最佳答案 根据tothedocs您可以使用减法来生成NOT查询:#SubtractionproducesaNOTqueryZoo.all(:state=>'IL

ruby - Datamapper 的钩子(Hook)不起作用

无法理解为什么Hook不起作用。我有以下模型:classDirItemincludeDataMapper::Resource#property,property:id,Serialproperty:dir_cat_id,Integer,:required=>trueproperty:title,String,:required=>trueproperty:price,Integer,:default=>0belongs_to:dir_cathasn,:dir_photoshasn,:dir_field_valuesbefore:destroydologger.debug"=======

Ruby Datamapper 存储以科学记数法显示的小数

我有一个模型,叫做交付:property:id,Serialproperty:created_at,DateTimeproperty:updated_at,DateTimeproperty:price,BigDecimal,:precision=>10,:scale=>2交货是有价格的,在SQLite中查看是5.49、6.95、4.95等值在输出中显示此信息时(以haml编码),delivery.price中的值显示为0.695E1、0.495E1等知道它们为什么以这种格式显示,以及如何最好地“正确”显示它们。感谢所有帮助! 最佳答案

ruby - DataMapper - 为什么是 "has"和 "belongs_to"?

我刚刚开始使用DataMapper,我想弄清楚为什么您需要指定has和belongs_to。例如,查看DataMapper网站上的示例。这不是多余的吗?如果帖子有n个评论,那么Comment不会自动belongs_to帖子吗?为什么我必须指定这个?classPostincludeDataMapper::Resourceproperty:id,Serialhasn,:commentsendclassCommentincludeDataMapper::Resourceproperty:id,Serialproperty:rating,Integerbelongs_to:post#defau

ruby - 在单独的文件中使用 DataMapper 的模型关联

我正在使用DataMapper并尝试使用模型项目和任务之间的关联。我在单独的文件project.rb和task.rb中有模型。当我尝试将它们相互关联时,出现以下错误:在项目中找不到任务的parent_model项目(NameError)我认为这是由project.rb需要task.rb引起的,反之亦然,因为如果我将它包含在其中一个文件中,关联工作正常。这是代码:项目.rbrequire'dmconfig'require'task'classProjectincludeDataMapper::Resourceproperty:id,Serialhasn,:tasksendDataMapp