标签: ruby-datamapper

Google App Engine上的Ruby on Rails应用程序

谁能给我一些关于如何将我的rails应用程序部署到GAE的指示?我一直在阅读它,但它似乎是一个相当复杂的任务.

我试过google-appengine宝石,但它也不是一块蛋糕.

DataMapper适配器是否有任何进展,或者我需要更改模型?

我希望看到一个关于它的完整细节教程,但我发现的那些有点过时了.

ruby google-app-engine ruby-on-rails ruby-datamapper

53
推荐指数
1
解决办法
2万
查看次数

DataMapper仍然可以用于Rails吗?

我想在Ruby on Rails项目中为我的模型使用一个更独立的系统.看起来解决方案是DataMapper.但是,我看到他们的存储库在去年都没有更新过,当安装在Rails 4项目中时,它与新版Gems的gem版本依赖冲突.使用Rails 4时,搜索不会显示任何内容.

现在的状态是什么?我应该使用它还是别的什么?

ruby ruby-on-rails datamapper ruby-datamapper ruby-on-rails-4

21
推荐指数
2
解决办法
6521
查看次数

gem install dm-postgres-adapter build错误

我正在尝试构建dm-postgres-adapter但是得到了这个错误.

sudo gem install dm-postgres-adapter

Building native extensions.  This could take a while...
ERROR:  Error installing dm-postgres-adapter:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
checking for main() in -lpq... yes
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for postgres.h... yes
checking for mb/pg_wchar.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.
Run Code Online (Sandbox Code Playgroud)

安装 …

ruby gem rails-postgresql ruby-datamapper heroku-postgres

7
推荐指数
1
解决办法
1275
查看次数

ruby datamapper不会加载

我试着通过以下教程了解Sinatra ruby​​框架:

http://net.tutsplus.com/tutorials/ruby/singing-with-sinatra-the-recall-app-2/

然而,在运行gem安装并在test.rb中编写一个简单的sinatra服务器后,如下所示:

require 'sinatra'
require 'datamapper'

get '/' do 
  "Hello, World!"
end
Run Code Online (Sandbox Code Playgroud)

但是当我运行命令时ruby test.rb,我收到以下错误:

/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- datamapper (LoadError)
    from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from datamapper_test.rb:2:in `<main>'
glenn@ubuntu:~/Dropbox/Repositories/sandbox/sinatra$ ruby datamapper_test.rb 
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- datamapper (LoadError)
    from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from test.rb:3:in `<main>'
Run Code Online (Sandbox Code Playgroud)

好像它找不到datamapper gem.我怎样才能解决这个问题?

编辑:使用ruby 1.9.2

编辑(再次) :( parital)输出gem list:

data_mapper (1.2.0)
data_objects (0.10.8)
datamapper (1.2.0)
devise (1.4.5)
directory_watcher (1.4.0)
dm-aggregates (1.2.0)
dm-constraints (1.2.0)
dm-core (1.2.0) …
Run Code Online (Sandbox Code Playgroud)

ruby gem ruby-datamapper

6
推荐指数
1
解决办法
4863
查看次数

Sinatra:NoMethodError

整个源代码在这里

我想程序流中有一个逻辑错误,返回NoMethodError

首先,一段导致错误的代码.

<input id="#identity" type="number" name="journal[identity]" value="<%= @journal.identity  unless @journal.identity.nil? %>" />


#Error Text
NoMethodError at /profile
undefined method `identity' for nil:NilClass
file: journal_form.erb location: block in singleton class line: 2 
Run Code Online (Sandbox Code Playgroud)

输入标记内的代码是错误文本中描述的确切代码段.

我的程序流程就是这样.

  1. 用户登录
  2. 如果身份验证成功,他/她将被重定向到/profile页面
  3. 根据他们的角色/特权,他们将在'/ profile'中的主区域内看到不同的内容.内容是数据库

1还可以.用户可以毫无问题地登录和注销.对于第二步,代码就是这样

#profile.erb
<% if session[:user].role == 1 %>
    <%= erb :assign_doctor %>
<% elsif session[:user].role == 2 %>
    <%= erb :journal_form %>
<% elsif session[:user].role == 3 %>
    <pre>
        Silence!        
    </pre>
<% elsif session[:user].role == 4 %>
    <%= erb :doctor_screen …
Run Code Online (Sandbox Code Playgroud)

ruby sinatra nomethoderror ruby-datamapper

5
推荐指数
1
解决办法
792
查看次数

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

我刚刚开始使用DataMapper,我正在试图弄清楚为什么需要指定a has和a belongs_to.

例如,查看DataMapper网站上的示例.这不是多余的吗?如果发表has n评论,那么评论会自动belongs_to发布吗?为什么我必须指定这个?

class Post
  include DataMapper::Resource

  property :id, Serial

  has n, :comments
end

class Comment
  include DataMapper::Resource

  property :id,     Serial
  property :rating, Integer

  belongs_to :post  # defaults to :required => true

  def self.popular
    all(:rating.gt => 3)
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby sinatra ruby-datamapper

4
推荐指数
1
解决办法
1548
查看次数

是否可以使用datamapper进行"where in"查询?

我想获得一个与datamapper中指定ID匹配的对象列表.

我知道我可以使用多个' '条件,但id的列表可以是数百个.

是否有一个datamapper命令,它等同于以下的sql?

select * from table where id in (1,2,3,4,5)
Run Code Online (Sandbox Code Playgroud)

ruby ruby-datamapper

4
推荐指数
1
解决办法
1602
查看次数

Datamapper:报告我无法销毁记录的原因

我正在使用datamapper和dm-contraints设置我的数据库模型.我有两个模型有很多关系,但是当我试图销毁一个时,我得到的唯一信息是false.

是否有可能获得datamapper给我更多的反馈,哪个关系正是导致问题?

ruby datamapper ruby-datamapper

4
推荐指数
2
解决办法
1329
查看次数

如何在Sinatra中序列化DataMapper :: Validations :: ValidationErrors to_json?

我正在使用Sinatra和DataMapper开发RESTful API.当我的模型验证失败时,我想返回JSON以指示哪些字段出错.DataMapper在我的类型模型中添加了"errors"属性DataMapper::Validations::ValidationErrors.我想返回此属性的JSON表示.

这是一个单独的文件示例(得爱Ruby/Sinatra/DataMapper!):

require 'sinatra'
require 'data_mapper'
require 'json'


class Person
    include DataMapper::Resource

    property :id, Serial
    property :first_name, String, :required => true
    property :middle_name, String
    property :last_name, String, :required => true
end


DataMapper.setup :default, 'sqlite::memory:'
DataMapper.auto_migrate!


get '/person' do
    person = Person.new :first_name => 'Dave'
    if person.save
        person.to_json
    else
        # person.errors - what to do with this?
        { :errors => [:last_name => ['Last name must not be blank']] }.to_json
    end
end


Sinatra::Application.run!
Run Code Online (Sandbox Code Playgroud)

在我的实际应用程序中,我正在处理POST或PUT,但为了使问题易于重现,我正在使用GET,以便您可以使用或浏览器.curl http://example.com:4567/person

所以,我所拥有的person.errors和我正在寻找的JSON输出就像哈希产生的那样: …

ruby validation rest sinatra ruby-datamapper

3
推荐指数
1
解决办法
739
查看次数

Ruby Hash:无法将String转换为Integer TypeError

目前收到Ruby Hash: can't convert String into Integer错误.代码在edit_id行上失败.

我已经尝试过许多不同的解决方案,这些解决方案来自SE上已发布的类似问题,但不幸的是,它们都没有奏效

哈希:

{"downloadID"=>115, "PageID"=>nil, "title"=>"hi", "dlLink"=>"http://www.a.com", "imgSrc"=>"http://www.a.com", "caption"=>"aaaa", "dlLive"=>nil, "createdAt"=>nil, "user_id"=>7}
Run Code Online (Sandbox Code Playgroud)

码:

#edit download
put '/view1/downloadedit' do
  data = JSON.parse(request.body.read)
  puts data
  edit_id = data["downloadID"]
  puts edit_id
  @download = Download.get(:download_id => edit_id)
  puts data
  if @download.update(data)
    status 201
    puts 'edit saved okay'
  else
    status 201
    puts 'edit failed to SAVE'
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby hash sinatra ruby-datamapper

3
推荐指数
1
解决办法
5547
查看次数