小编mat*_*att的帖子

使用Sinatra + DataMapper + Postgres + Heroku返回部署一个简单的测试应用程序:安装do_sqlite3(0.10.7)错误

目标:使用Sinatra + DataMapper + Postgres + Heroku部署一个简单的测试应用程序

问题:当使用gem'dm-postgres-adapter'gem'dm-sqlite-adapter'将应用程序推送到Heroku时,我得到了这个.使用本机扩展安装do_sqlite3(0.10.7)不幸的是,发生了致命错误.请通过https://github.com/carlhuda/bundler/issues向Bundler问题跟踪器报告此错误,以便我们对其进行修复.谢谢!

我访问了那个github链接,有人遇到了同样的问题,但是被定向到Heroku,https://github.com/carlhuda/bundler/issues/1488.我已经发送电子邮件到Heroku的邮件列表,我正在等待回复.

我遇到了LoadError: no such file to load -- dm-sqlite-adapter 所以我把它添加到Gemfile和Gemfile.lock中,这是我所能得到的

我试图在本地安装和设置Postgres,但那是我正在慢慢学习但却无法开始工作的新的痛苦.

我也在这里用一个类似的问题阅读了每一个问题,有些人向我推进了这一点,有些人没有得到提问者的回答而留下一个谜.

的Gemfile

-----------------
source :rubygems
gem 'sinatra', '1.1.0'
gem 'thin', '1.2.7'
gem 'data_mapper'
gem 'dm-postgres-adapter'
gem 'dm-sqlite-adapter'
Run Code Online (Sandbox Code Playgroud)

Gemfile.lock的

------------------------
...
dm-sqlite-adapter (1.2.0)
  dm-do-adapter (~> 1.2.0)
  do_sqlite3 (~> 0.10.6)
...
Run Code Online (Sandbox Code Playgroud)

Procfile

--------------------
web: bundle exec ruby recall.rb -p $PORT
Run Code Online (Sandbox Code Playgroud)

Recall.rb

---------------------
require 'rubygems'  
require 'sinatra'
require 'data_mapper'

DataMapper.setup(:default, ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/recall.db")


class Note
    include DataMapper::Resource …
Run Code Online (Sandbox Code Playgroud)

sqlite postgresql datamapper heroku sinatra

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

我如何使用冒号:在nokogiri节点名称中?

我希望以下代码中的节点名称为"node:name",而是将名称放入字段的文本中.

require 'nokogiri'

file = File.new("/Users/adamar/code/xmler/test.xml", "w+")

builder = Nokogiri::XML::Builder.new do  |xml|
  xml.node:name do

  end
end

file << builder.to_xml

puts builder.to_xml
Run Code Online (Sandbox Code Playgroud)

如何在nokogiri的节点名中使用冒号或其他特殊字符?

ruby xml ruby-on-rails nokogiri ruby-on-rails-3

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

Ruby中at_exit和END(大写)之间的差异

内核#at_exit方法和END(全部大写)关键字之间存在哪些差异(如果有)?后者仅仅是一种更为Perlish的做事方式,前者更像是Ruby风格吗?

我尝试过defined?(END {puts "Bye"}),但语法错误.

ruby keyword

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

`exec':string包含空字节(ArgumentError)

cmd = "snv co #{rep} --username #{svn_user} --password #{pxs}" 

puts cmd  # this code wotks and prints all vars values normally

exec(cmd)   
Run Code Online (Sandbox Code Playgroud)
xpto.rb:69:in `exec': string contains null byte (ArgumentError)
    from xpto.rb:69
Run Code Online (Sandbox Code Playgroud)
$ ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-linux]
$ gem -v
1.3.7
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?我怎么解决这个问题?

ruby string arguments cmd exec

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

编译Ruby Inline C代码 - 解决错误

我试图让这个Ruby内联C代码http://pastie.org/2825882工作.代码在vanilla C中运行,但在这里我得到错误和警告.是什么导致这个错误?

./backtrack_inline.rb:67: error: lvalue required as unary '&' operand
Run Code Online (Sandbox Code Playgroud)

另外,为什么我会收到以下错误?

./backtrack_inline.rb:73: error: too few arguments to function 'backtrack'
Run Code Online (Sandbox Code Playgroud)

检查生成的C代码(http://pastie.org/2826036)我没有看到参数有什么问题.但我也收到以下警告:

./backtrack_inline.rb:73: warning: passing argument 1 of 'backtrack' makes integer from pointer without a cast
./backtrack_inline.rb:73: warning: passing argument 2 of 'backtrack' makes integer from pointer without a cast
./backtrack_inline.rb:73: warning: passing argument 3 of 'backtrack' makes integer from pointer without a cast
Run Code Online (Sandbox Code Playgroud)

ruby inline-code

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

如何在模块化Sinatra应用程序中正确配置.

我正在尝试在Sinatra应用程序中使用子类化样式.所以,我有一个像这样的主要应用程序.

class MyApp < Sinatra::Base
  get '/' 
  end

  ...
end

class AnotherRoute < MyApp
  get '/another'
  end

  post '/another'
  end
end
Run Code Online (Sandbox Code Playgroud)
run Rack::URLMap.new \ 
  "/"       => MyApp.new,
  "/another" => AnotherRoute.new
Run Code Online (Sandbox Code Playgroud)

在config.ru我明白它只是为了"GET"如何关于其他资源(例如"PUT","POST")?我不确定我是否错过了一些明显的东西.而且,如果我有十个路径(/ path1,/ path2,...),我是否必须在config.ru中配置它们,即使它们在同一个类中?

ruby rack sinatra

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

如何配置 RubyMine 5 以通过 SSH 编辑远程文件

我遇到了一个简单的问题,但我似乎无法在网上找到任何决定性的答案。因此,我在安装了 Ruby 和 Rails 的 VirtualBox 中运行了 Ubuntu Server。

我想要做的是在 Windows 主机上使用 RubyMine 5.0 通过 SSH 编辑 VM 中的文件(就像我在 Eclipse 中所做的那样)。

问题是我找不到如何做到这一点。我很确定它可以做到,因为我在网上找到了一些相关的文章,但没有一篇告诉我如何配置 RubyMine 来做到这一点。

我已经搜索了菜单中的每个选项,但我自己无法弄清楚,因此“切中要害”的解释确实会有所帮助。

谢谢

ruby ssh virtualbox remote-debugging rubymine

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

禁用Rack :: CommonLogger,无需修补猴子

所以,我想为我的sinatra应用程序完全自定义日志记录,但我似乎无法禁用Rack::CommonLogger.

根据sinatra文档,我应该做的是添加以下行(尝试将其设置false为):

set :logging, nil
Run Code Online (Sandbox Code Playgroud)

到我的配置.但这不起作用,我仍然在终端中收到类似Apache的日志消息.所以我到目前为止找到的唯一解决方案是修补该死的东西.

module Rack
  class CommonLogger
    def call(env)
      # do nothing
      @app.call(env)
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

任何人都有任何想法,如果有可能禁用这个没有重新处理这些问题?

ruby rack sinatra puma

6
推荐指数
2
解决办法
1689
查看次数

错误阻止在Sinatra应用程序中不起作用

我有以下Sinatra应用程序,我正在测试error块,但它似乎没有工作.

这是我的sinatra应用程序:

require 'rubygems'
require 'sinatra'

error do
  puts "----> Failed"
  $stdout.print "----> Failed"
end

get "/*" do
  raise "Error!!"
end
Run Code Online (Sandbox Code Playgroud)

我正在使用sinatra(1.3.3)

sinatra

5
推荐指数
2
解决办法
1073
查看次数

如何在 Sinatra 中读取标题?

在 Rails 中,我可以读取标题

request.headers['HTTP_CF_CONNECTING_IP']
Run Code Online (Sandbox Code Playgroud)

我怎样才能在 Sinatra 中做到这一点?

ruby sinatra

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