在编写请求规范时,如何设置会话和/或存根控制器方法?我正在尝试在我的集成测试中删除身份验证 - rspec/requests
这是一个测试的例子
require File.dirname(__FILE__) + '/../spec_helper'
require File.dirname(__FILE__) + '/authentication_helpers'
describe "Messages" do
include AuthenticationHelpers
describe "GET admin/messages" do
before(:each) do
@current_user = Factory :super_admin
login(@current_user)
end
it "displays received messages" do
sender = Factory :jonas
direct_message = Message.new(:sender_id => sender.id, :subject => "Message system.", :content => "content", :receiver_ids => [@current_user.id])
direct_message.save
get admin_messages_path
response.body.should include(direct_message.subject)
end
end
end
Run Code Online (Sandbox Code Playgroud)
帮助者:
module AuthenticationHelpers
def login(user)
session[:user_id] = user.id # session is nil
#controller.stub!(:current_user).and_return(user) # controller is nil
end
end …Run Code Online (Sandbox Code Playgroud) 我正在努力实现SEO-hiarchy,这意味着我需要为show动作添加参数.
用例是一个搜索站点,其URL结构为:
/cars/(:brand)/=>列表页面
/cars/(:brand)/(:model_name)?s=query_params=>搜索操作
/cars/:brand/:model_name/:variant/:id=>车展动作
我的问题是使show动作URL无需提供 :brand,:model_name 并 :variant 作为单独的参数.它们始终可以作为资源上的值使用.
是)我有的:
/cars/19330-Audi-A4-3.0-TDI
我想要的是
/cars/Audi/A4/3.0-TDI/19330
以前,这是routes.rb看起来像:
# Before
resources :cars. only: [:show] do
member do
get 'favourize'
get 'unfavourize'
end
Run Code Online (Sandbox Code Playgroud)
以下是我的第一次尝试:
# First attempt
scope '/cars/:brand/:model_name/:variant' do
match ":id" => 'cars_controller#show'
match ":car_id/favourize" => 'cars_controller#favourize', as: :favourize_car
match ":car_id/unfavourize" => 'cars_controller#unfavourize', as: :unfavourize_car
end
Run Code Online (Sandbox Code Playgroud)
这使得它成为可能:
cars_path(car, brand: car.brand, model_name: car.model_name, variant: car.variant)
但这显然不是很理想.
如何设置路由(也许是.to_param方法?)的方式不会使更改所有link_to呼叫变得繁琐?
提前致谢!
- 更新 -
有了@ …
我正在努力了解如何训练多层; 但是,我在确定如何确定合适的网络架构时遇到了一些麻烦 - 即网络每层中的节点/神经元数量.
对于特定任务,我有四个输入源,每个输入源可以输入三种状态之一.我猜这意味着四个输入神经元会触发0,1或2,但据我所知,输入应保持二进制?
此外,我有一些问题选择隐藏层中的神经元数量.任何评论都会很棒.
谢谢.
使用Google Oauth2,以下范围用于获取用户电子邮件的API访问权限:https: //mail.google.com/
通过OAuth 2.0 Playground测试范围确认该应用想要"查看和管理您的电子邮件":

有没有办法只要求代表用户发送电子邮件?或许更具体的范围?
gmail ×1
google-apps ×1
google-oauth ×1
oauth-2.0 ×1
routing ×1
rspec ×1
ruby ×1
seo ×1
stubbing ×1