0
Devise 1.4.2, RSpec 2.6.0 및 Rails 3.1.0.rc6을 사용 중입니다. 내 routes.rb
은 다음과 같습니다 : A는, 생성 또는 업데이트, 그가 new_user_session_path
에 새로운 리디렉션되어야 액세스를 사용자가 로그인하지 않을 때 나는, 그 spec'ing하고컨트롤러 사양의 리디렉션 기대치에서 오류 발생
scope "(:locale)", :locale => /e(s|n)/ do
resources :demotivideos, :only => [:index, :show]
devise_for :users
namespace "admin" do
resources :demotivideos, :except => [:index, :show]
end
end
. 이를 위해, 나는 다음과 같은 코드
context "when not logged in" do
before(:each) do
sign_out user
end
describe "GET new" do
it "should redirect to new user session" do
get :new
response.should redirect_to(new_user_session_path)
end
end
describe "POST create" do
it "should redirect to new user session" do
post :create, :demotivideo => valid_attributes
response.should redirect_to(new_user_session_path)
end
end
describe "PUT update" do
it "should redirect to new user session" do
put :update, :id => 1, :demotivideo => valid_attributes
response.should redirect_to(new_user_session_path)
end
end
end
모든 때문에 같은 이유로 실패 사용하고 있습니다 : 예상 경로 (EN 기본적으로) 로케일을 포함을하지만, 실제 리디렉션 로케일없이 동일한 경로로했다. 내가 잘못 뭐하는 거지
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :set_locale
def default_url_options(options={})
logger.debug "default_url_options is passed options: #{options.inspect}\n"
{ :locale => I18n.locale }
end
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
end
: Rails Guides에서 말한대로 내 응용 프로그램 컨트롤러는 수정?