小编amr*_*rnt的帖子

使用模块化Sinatra应用程序设置Cucumber,Capybara和RSpec

这是我的 config.ru

$:.unshift File.join(File.expand_path(File.dirname(__FILE__)), 'config')
require 'boot'

Routes = Rack::Mount::RouteSet.new do |set|
  set.add_route App::Users, { :path_info => %r{^/users*} }, {}, :users
  set.add_route App::Dashboard, { :path_info => %r{^/$} }, {}, :dashboard
  set.add_route Rack::File.new(File.dirname(__FILE__) + "/public"), { :path_info => %r{^/*} }, {}, :public
end

run Routes
Run Code Online (Sandbox Code Playgroud)

boot.rb

require 'bundler'
Bundler.setup
Bundler.require(:default)
Mongoid.load!(File.join(File.dirname(__FILE__), '/mongoid.yml'))
%w(sinatra json yaml rack/mount rack/contrib).each {|l| require l }
Dir["./lib/**/*.rb"].each { |f| require f }
Run Code Online (Sandbox Code Playgroud)

lib包含应用程序和模型.

如何让Cucumber看到我的申请:

这是黄瓜 env.rb

require 'capybara'
require 'capybara/cucumber'
require 'rspec'

World do …
Run Code Online (Sandbox Code Playgroud)

rspec sinatra cucumber capybara

7
推荐指数
2
解决办法
3062
查看次数

如何让'周'从特定的一天而不是星期一开始?

在我正在建设的应用程序中,我试图让星期六的星期开始.在轨道上的红宝石中,默认情况下,周从星期一开始.

所以如果你有任何技巧或补丁让它适合我!

提前致谢!

ruby ruby-on-rails

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

如何将params传递给Rails路由中的块?

我正在使用Rails 3.我想知道如何将params传递给一些块routes.rb.

我要做的是创建一个catch all路由,从slugs数据库中检查id的模型名称.

得到model name我复数后得到控制器名称.

match '/:id', :controller => proc { Slug.find_by_iid(params[:id]).model.pluralize }, :action => :show
Run Code Online (Sandbox Code Playgroud)

桌子 slugs

model    iid
-----    -----
post     4d2c7de0c5abe7f8a9000007
item     4d2c7de0c5abe7f809000004
Run Code Online (Sandbox Code Playgroud)

当我尝试访问某些页面时,/4d2c7de0c5abe7f8a9000007我收到此错误:

Started GET "/4d2c7de0c5abe7f8a9000007" for
127.0.0.1 at 2011-01-12 00:04:31 +0200

ActionController::RoutingError (wrong constant name #<Proc:0x0000010337c310@):

Rendered /Users/amr/.rvm/gems/ruby-1.9.2-p136@rails3/gems/actionpack-3.0.3/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (1.2ms)
Run Code Online (Sandbox Code Playgroud)

预期是指向帖子#view with iid:4d2c7de0c5abe7f8a9000007

routing ruby-on-rails ruby-on-rails-3

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

Mongoid中的多条件

我的Thing模型有一系列主题和以下内容.

我想找到所有thingscurrent_user跟随它Topic或它的"用户".

@things = Thing
          .where(:user_id.in => current_user.following.map{ |u| u._id })
          .where(:topic_id.in => current_user.topics.map{ |u| u._id })
Run Code Online (Sandbox Code Playgroud)

这样的事情.但这实际上不起作用.它只返回两个where条件之间常见事物的记录.

我想要的是返回2个where语句找到的所有记录.

谢谢

ruby-on-rails mongoid

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

了解如何从Android到Rails应用程序验证用户身份

我有一个rails应用程序,我使用Devise对应用程序的用户进行身份验证.

问题是我正在构建一个Android应用程序,我想了解如何在Android上"轻松地"验证用户的流程.我读到了Basic和Digest Auth.

或api我使用Grape https://github.com/intridea/grape,其中包含用于身份验证的Basic和Digest中间件.

我只是想知道我应该在Android应用程序上存储用户的电子邮件/密码吗?

每个api请求都应该附上用户的电子邮件/密码?

另外,在经过身份验证的响应中,我的auth标头的好处是什么?

ruby authentication ruby-on-rails devise grape-api

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