标签: sinatra

sinatra中的问号得到方法

我试图在我的一个网址中使用问号,但是sinatra/ruby​​将其解释为使得前缀可选的正则表达式字符.有没有办法让实际?在你的get方法?我试过了 \?和[?]但他们没有工作.这是我的get方法的开头:

get '/group?groupid=:groupId' do |id|
Run Code Online (Sandbox Code Playgroud)

如果我访问www.mydomain.com/group?groupid=1我收到错误但是如果我访问www.mydomain.com/groupgroupid=1则会有效

ruby sinatra

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

Sinatra:三个日志

我正在使用一个非常简单的Sinatra应用程序,效果很好.但是,每条日志消息重复三次.我可以通过禁用Sinatra日志记录将其降低到2

disable :logging
Run Code Online (Sandbox Code Playgroud)

但我还有两个.消息略有不同,所以我认为它们来自Rack和堆栈中的其他位置.

如何完全禁用成功Web请求的记录?

ruby rack sinatra

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

如何运行我的模块化Sinatra应用程序?

我正在与Sinatra 建立一个新版本的恋人.您可以在GitHub上查看Lovers源代码.

cucumber通过从存储库的根目录运行CLI,我能够以黄瓜模式成功运行我的应用程序.但...

1)如何在开发模式下运行应用程序?

这有点棘手,因为它是一个模块化的应用程序,我已将app.rb文件移动到lib/lovers/application.rb.

2)如何运行它shotgun以便它在每个HTTP请求上自动重启应用程序?

3)当您运行ruby app.rbSinatra应用程序时,它实际上做了什么?

如果你回答第3部分,我想我能够找到1和2的答案.

谢谢!

ruby sinatra

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

"有效"是DataMapper中的保留名称吗?

我在datamapper中有以下模型:

class Student
  include DataMapper::Resource
  property :id,          Serial
  # <snip>
  property :permissions, String, :accessor => :protected, :required => true, :default => 'standard'
  property :valid,       Boolean, :default => false, :required => true
  # <snip>
end
Run Code Online (Sandbox Code Playgroud)

在要求'dm-validations'(版本1.1.0)并启动我的Sinatra应用程序后,我收到以下消息:

/Library/Ruby/Gems/1.8/gems/dm-validations-1.1.0/lib/dm-validations.rb:81:in `valid?': wrong number of arguments (1 for 0) (ArgumentError)
    from /Library/Ruby/Gems/1.8/gems/dm-validations-1.1.0/lib/dm-validations.rb:81:in `save_self'
    from /Library/Ruby/Gems/1.8/gems/dm-core-1.1.0/lib/dm-core/resource.rb:1007:in `_save'
    from /Library/Ruby/Gems/1.8/gems/dm-core-1.1.0/lib/dm-core/resource.rb:1223:in `run_once'
    from /Library/Ruby/Gems/1.8/gems/dm-core-1.1.0/lib/dm-core/resource.rb:1006:in `_save'
    from /Library/Ruby/Gems/1.8/gems/dm-core-1.1.0/lib/dm-core/resource.rb:406:in `save'
    from /Library/Ruby/Gems/1.8/gems/dm-validations-1.1.0/lib/dm-validations.rb:69:in `save'
    from /Library/Ruby/Gems/1.8/gems/dm-validations-1.1.0/lib/dm-validations/support/context.rb:30:in `validation_context'
    from /Library/Ruby/Gems/1.8/gems/dm-validations-1.1.0/lib/dm-validations.rb:69:in `save'
<snip>

我正在为我的模型使用的"有效"名称是保留字吗?如果是,我在哪里可以找到这些单词.我接下来试着给它命名:'student_valid',但现在我真的很好奇.

谢谢

ruby validation datamapper sinatra

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

小马不发送电子邮件到Gmail地址?

我有一个报名表,要求提供人名和电子邮件地址.我将该电子邮件地址保存到会话中,以便在表单提交后我可以访问它.然后我使用Pony向提交表单的人发送感谢/通知电子邮件.但是,虽然它没有问题发送到MobileMe地址,但它不会发送到Gmail地址.我用来发送的行是:

Pony.mail(:to => "#{@email}", :from => 'from@email.com', :subject => "Thanks for entering!", 
:body => "Thank you!")
Run Code Online (Sandbox Code Playgroud)

@email变量在处理程序中定义,并从会话中获取值.

有任何想法吗?

ruby sinatra pony

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

sinatra能听多个港口吗?

我想要一个运行sinatra应用程序来侦听两个端口 80和4567?

那可能吗

  • 在Windows XP上
  • 仅使用红宝石
  • 只运行我的sinatra应用程序的一个实例?

ruby sinatra

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

sinatra重定向错误

我在Sinatra模块化应用程序中重定向错误时遇到问题.我正在Heroku上部署,当出现错误时,应用程序就会死掉.

我希望它能够捕获此错误,重定向到错误页面并正常运行.

我在基类中设置了如下内容:

set :raise_errors, false
Run Code Online (Sandbox Code Playgroud)

error do
    redirect to('/')
end
Run Code Online (Sandbox Code Playgroud)

但是当我raise从路径块中发生错误时,它就会转到标准的Sinatra错误页面.

我需要做些什么来捕捉我的错误并重定向?

ruby heroku sinatra

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

我无法在Sinatra发布数据

我在做一些简单的事情时遇到了问题,我不确定我做错了什么.我在Windows下使用最新版本的Ruby和Sinatra(1.9.3和1.3.3)

我的主要代码是:

require 'sinatra'

get '/form' do
  erb :form
end

post '/form' do
    "Value: '#{params[:somevalue]}'"
end
Run Code Online (Sandbox Code Playgroud)

我的再培训局:

<form action="/form" method="post">
    <input type="text" name"somevalue">
    <input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)

当我按提交时,它不会显示值.它只会显示:Value: ''

我甚至尝试使用纯HTML(结果相同).

这些是我的请求标题:

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:es,en-US;q=0.8,en;q=0.6
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:0
Content-Type:application/x-www-form-urlencoded
Host:localhost:4567
Origin:http://localhost:4567
Referer:http://localhost:4567/form
User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.11 (KHTML, like Gecko)       Chrome/23.0.1271.91 Safari/537.11
Run Code Online (Sandbox Code Playgroud)

我需要配置什么吗?

ruby http-post sinatra

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

这个红宝石"方法"如何运作?

我正在与Sinatra合作,但我对Ruby完全不熟悉并且对下面的代码实际上做了什么感到困惑.

class Something < Sinatra::Base

   get '/' do
      'hello world'
   end

end
Run Code Online (Sandbox Code Playgroud)

我们似乎没有定义方法.我们打电话给这个get方法吗?如果是这样,它什么时候被称为?我没有在其他语言中看到过这样的东西.

如果我们有2个扩展Sinatra :: Base的类,那么Sinatra如何理解它get适用于Something而不是其他类.

ruby methods class object sinatra

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

RSpec - 测试跨路线的多个期望

我正在尝试使用shared_examples作为跨多个路线重复期望的方法.特别是,我想测试我的页眉和页脚中的某些静态资源是否正在加载.但是,我得到一个错误说:

RSpec::Core::ExampleGroup::WrongScopeError: `it_behaves_like` is not available from within an example (e.g. an `it` block) or from constructs that run in the scope of an example (e.g. `before`, `let`, etc). It is only available on an example group (e.g. a `describe` or `context` block).
Run Code Online (Sandbox Code Playgroud)

现在,我不确定如何解决这个问题.这是我目前的设置.

shared_examples_for 'a page' do 
    describe 'should load static assets' do 
        it 'header, footer and icons' do 
            expect(page).to have_css 'footer.footer'                
            expect(page).to have_css '#navbar-brand'                
            brand = page.first(:css, '#navbar-brand')
            visit brand[:src]                                       
            expect(page.status_code).to be 200 
        end
    end
end


describe 'site …
Run Code Online (Sandbox Code Playgroud)

ruby testing rspec sinatra capybara

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

标签 统计

ruby ×10

sinatra ×10

capybara ×1

class ×1

datamapper ×1

heroku ×1

http-post ×1

methods ×1

object ×1

pony ×1

rack ×1

rspec ×1

testing ×1

validation ×1