小编mat*_*att的帖子

Rack :: Lint :: LintError:状态必须> = 100,视为整数

我正在使用Sinatra的DataMapper gem并遵循这里的教程:http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-working-with-datamapper/

我正在连接到数据库并进行以下迁移:

DataMapper.setup :default, "sqlite://#{Dir.pwd}/ex2.db"
DataMapper.auto_migrate!
Run Code Online (Sandbox Code Playgroud)

我的数据模型:

class User
    include DataMapper::Resource

    property :id       , Serial
    property :username , String
    property :email    , String
end
Run Code Online (Sandbox Code Playgroud)

我正在使用此命令执行:

rackup config.ru
Run Code Online (Sandbox Code Playgroud)

但是,当我到达这一行时:

User.create username: "JoeSchmo", email: "joe@schmo.com"
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Rack::Lint::LintError: Status must be >=100 seen as integer
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?

sqlite datamapper sinatra

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

IOCTL 调用中指向缓冲区的指针

我正在使用 Ruby 和 bit-struct 在测试设置中配置我的网络接口。这对于大多数 IOCTL 调用都适用,但我不知道如何调用 SIOCGIFCONF

这是一个例子:

如果我想获取接口的 MAC 地址,我会写这样的内容:

class LinuxIfreqMacAddr < BitStruct
  char       :name,    128
  unsigned   :type,     16, :endian => :native
  hex_octets :macaddr,  48
  pad        :padding,  64
end

ifr = LinuxIfreqMacAddr.new
ifr.name = "eth0"
s.ioctl(SIOCGIFHWADDR, ifr) # s is a socket
puts ifr.macaddr
Run Code Online (Sandbox Code Playgroud)

这工作正常,并且会打印 eth0 的 MAC 地址。但是“struct ifconf”的签名(与 SIOCGIFCONF 一起使用)需要传递一个缓冲区。

这是签名:

struct ifconf  {
    int     ifc_len;
    char __user *ifcu_buf;
};
Run Code Online (Sandbox Code Playgroud)

如何从 ruby​​ 调用具有 4096 字节缓冲区的 SIOCGIFCONF ioctl 命令?

ruby

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

错误阻止在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 Middleware中的会话

我正在研究Sinatra项目,并在会话中设置了一些变量供以后使用.

我需要帮助的场景是我想访问中间件类中的会话对象.我正在使用warden进行身份验证.

我想在Middleware类中做类似的事情:

class MyMiddleware
    def initialize(app, options={})
        @app = app
    end

    def call(env)
        puts "#{session.inspect}" 
    end
end
Run Code Online (Sandbox Code Playgroud)

这样做有可能吗?

思考?

ruby session rack sinatra warden

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

Ubuntu 10 Ruby 1.9 Rails 3无法正常工作?

嗨希望有人可以帮助我,一直在努力解决这个问题已经有一段时间了.我在dev机器上运行Ubuntu 10,它上面有红宝石1.8,我移除了.我使用RVM和本教程安装了Ruby 1.9.3和rails3 http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/


当我输入红宝石-v我得到

ruby 1.9.3p125 (2012-02-16 revision 34643) [i686-linux]
Run Code Online (Sandbox Code Playgroud)

这似乎是正确的

我使用创建了一个新的测试应用

rails new mysite
Run Code Online (Sandbox Code Playgroud)

我成功创建了新的应用程序

cd mysite
Run Code Online (Sandbox Code Playgroud)

并创建了一个gemset

rvm gemset create 'rails3'
Run Code Online (Sandbox Code Playgroud)

然后我在/ mysite /文件夹中使用了这个

rvm use 1.9.3@rails3 --rvmr
Using /usr/local/rvm/gems/ruby-1.9.3-p125 with gemset rails3
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行它时会出现问题

root@server-pc:/var/www/mysite# rails s
-bash: /usr/bin/rails: /usr/bin/ruby1.8: bad interpreter: No such file or directory
Run Code Online (Sandbox Code Playgroud)

EDIT1:

root@server-pc:/var/www/mysite# which ruby
/usr/local/rvm/rubies/ruby-1.9.3-p125/bin/ruby
Run Code Online (Sandbox Code Playgroud)

ruby ubuntu ruby-on-rails rvm ruby-on-rails-3

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

在heroku中的静态网站中加载css文件

我的config.ru情况如下:

use Rack::Static, 
  :urls => ["/images"],
  :root => "public"

run lambda { |env|
  [
    200, 
    {
      'Content-Type'  => 'text/html', 
      'Cache-Control' => 'public, max-age=86400' 
    },
    File.open('public/index.html', File::RDONLY)
  ]
}
Run Code Online (Sandbox Code Playgroud)

当我在本地加载它时,网站看起来很好,但是当我在Heroku上运行时,我在浏览器控制台中为CSS文件收到以下错误消息:

Resource interpreted as Stylesheet but transferred with MIME type text/html.
Run Code Online (Sandbox Code Playgroud)

知道我为什么会收到这些错误吗?

示例站点:http://salus8.heroku.com.

ruby rack heroku

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

Sinatra在ctrl-c之后重新启动Webrick Server

require 'sinatra'
require 'rubygems'

class TestServer < Sinatra::Application
set :port, 22340
    get '/' do
        "Hello World"
    end
    run! if app_file == $0
end
Run Code Online (Sandbox Code Playgroud)

Ruby 2.0.0-p0和Sinatra 1.4.2的非常简单的应用程序

当我按ctrl-c时webrick服务器在默认端口上重新启动...请参阅下面的输出

LM-BOS-00715009:server joshughes$ ruby test.rb 
[2013-04-19 16:07:48] INFO  WEBrick 1.3.1
[2013-04-19 16:07:48] INFO  ruby 2.0.0 (2013-02-24) [x86_64-darwin11.4.2]
== Sinatra/1.4.2 has taken the stage on 22340 for development with backup from WEBrick
[2013-04-19 16:07:48] INFO  WEBrick::HTTPServer#start: pid=63798 port=22340
^C
== Sinatra has ended his set (crowd applauds)
[2013-04-19 16:07:56] INFO  going to shutdown ...
[2013-04-19 …
Run Code Online (Sandbox Code Playgroud)

ruby webrick sinatra

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

Thin&Sinatra没有接收端口

我在使用Thin和Sinatra设置我的应用程序时遇到了问题.我创建了一个包含以下设置的development-config.ru文件:

# This is a rack configuration file to fire up the Sinatra application.
# This allows better control and configuration as we are using the modular
# approach here for controlling our application.
#
# Extend the Ruby load path with the root of the API and the lib folder
# so that we can automatically include all our own custom classes. This makes
# the requiring of files a bit cleaner and easier to maintain.
# This is …
Run Code Online (Sandbox Code Playgroud)

ruby rack thin sinatra

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

将bootstrap按钮类添加到rails 4中的button_to

我在我的Rails 4 haml文件中有一个button_to调用,看起来像这样

= button_to("Click Me", action: "click", class: "btn btn-primary")
Run Code Online (Sandbox Code Playgroud)

但是,class: "btn btn-primary"代码段无法正常工作,我的按钮不会更改.我也尝试过旧的Ruby语法:class => "btn btn-primary",但这似乎没有办法.

任何帮助将不胜感激.

haml button twitter-bootstrap ruby-on-rails-4

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

Rack::Reloader 未获取更改

考虑这个config.ru文件:

require 'sinatra'

use Rack::Reloader, 0

get '/' do
  'hi'
end

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

我从命令行启动它thin starthi当我点击 时,应用程序会运行并显示localhost:3000。如果我现在更改hihello,保存文件并重新加载页面,则不会出现更改:页面仍然显示hi

为什么Rack::Reloader在这种情况下不起作用?我可以更改任何内容以使其正常工作吗?

rack sinatra

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