Skip to content

Instantly share code, notes, and snippets.

@RKushnir
Last active December 28, 2015 00:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RKushnir/7413749 to your computer and use it in GitHub Desktop.
Save RKushnir/7413749 to your computer and use it in GitHub Desktop.
Url generation issue
unless File.exist?('Gemfile')
File.write('Gemfile', <<-GEMFILE)
source 'https://rubygems.org'
gem 'rails', github: 'rails/rails'
GEMFILE
system 'bundle'
end
require 'bundler'
Bundler.setup(:default)
require 'rails'
require 'action_controller/railtie'
class TestApp < Rails::Application
config.root = File.dirname(__FILE__)
config.session_store :cookie_store, key: 'cookie_store_key'
config.secret_token = 'secret_token'
config.secret_key_base = 'secret_key_base'
config.logger = Logger.new($stdout)
Rails.logger = config.logger
routes.draw do
resources :parents do
resources :children
end
resources :others
end
end
class ChildrenController < ActionController::Base
include Rails.application.routes.url_helpers
def index
render text: parent_children_path
rescue ActionController::UrlGenerationError
render text: 'OK'
end
end
class OthersController < ActionController::Base
include Rails.application.routes.url_helpers
def index
render text: parent_children_path
rescue ActionController::UrlGenerationError
render text: 'OK'
end
end
require 'minitest/autorun'
require 'rack/test'
class BugTest < Minitest::Test
include Rack::Test::Methods
def test_raises_without_parent_id
get '/others'
assert_equal 'OK', last_response.body
end
def test_raises_with_parent_id
get '/parents/foo/children'
assert_equal 'OK', last_response.body
end
private
def app
Rails.application
end
end
Failure:
BugTest#test_raises_with_parent_id [action_controller_master.rb:67]:
Expected: "OK"
Actual: "/parents/foo/children"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment