Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.10.3 layout #691

Closed
EtienneLem opened this issue Oct 5, 2011 · 7 comments
Closed

0.10.3 layout #691

EtienneLem opened this issue Oct 5, 2011 · 7 comments
Milestone

Comments

@EtienneLem
Copy link

Yeah, me again.

Looks like the new version requires a layout? It now throws a bug when there's no views/application.erb where it wouldn't on v 0.10.2.
Is this something new with the latest Sinatra, or it is related to Padrino (bug or new feature)?

In any case, views/application.erb (depending on the renderer, of course) could be automatically created when generating a project.

@nesquena
Copy link
Member

nesquena commented Oct 5, 2011

Can you paste the stacktrace? very likely a sinatra change we didn't account for, will investigate the issue soon.

@EtienneLem
Copy link
Author

Sure, is this what you're looking for?
I pasted the whole thing, but the interesting part is most likely the 5-6 first lines.

[2011-10-05 15:21:14] INFO  WEBrick::HTTPServer#start: pid=13846 port=3000
NoMethodError - undefined method `[]' for false:FalseClass:
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/application/rendering.rb:273:in `resolve_template'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/application/rendering.rb:204:in `resolved_layout'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/application/rendering.rb:175:in `render'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/sinatra-1.3.1/lib/sinatra/base.rb:512:in `erb'
    /Users/elemay/Sites/test-pad/app/controllers/projects.rb:22:in `GET /projects'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/application/routing.rb:562:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/application/routing.rb:562:in `route'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/application/routing.rb:51:in `[]'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/application/routing.rb:51:in `process_destination_path'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/sinatra-1.3.1/lib/sinatra/base.rb:788:in `route_eval'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/application/routing.rb:51:in `process_destination_path'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/application/routing.rb:51:in `catch'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/application/routing.rb:51:in `process_destination_path'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/application/routing.rb:25:in `instance_eval'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/application/routing.rb:25:in `process_destination_path'
    (eval):16:in `lookup_2 projects'
    (eval):6:in `catch'
    (eval):6:in `lookup_2 projects'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/http_router-0.10.2/lib/http_router/node/root.rb:44:in `send'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/http_router-0.10.2/lib/http_router/node/root.rb:44:in `[]'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/http_router-0.10.2/lib/http_router/node/root.rb:13:in `[]'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/http_router-0.10.2/lib/http_router.rb:119:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/http_router-0.10.2/lib/http_router.rb:119:in `catch'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/http_router-0.10.2/lib/http_router.rb:119:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/application/routing.rb:883:in `route!'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/application/routing.rb:873:in `dispatch!'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/sinatra-1.3.1/lib/sinatra/base.rb:706:in `call!'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/sinatra-1.3.1/lib/sinatra/base.rb:871:in `invoke'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/sinatra-1.3.1/lib/sinatra/base.rb:871:in `catch'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/sinatra-1.3.1/lib/sinatra/base.rb:871:in `invoke'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/sinatra-1.3.1/lib/sinatra/base.rb:706:in `call!'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/sinatra-1.3.1/lib/sinatra/base.rb:692:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/sass-3.1.8/lib/sass/../sass/plugin/rack.rb:54:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/rack-1.3.4/lib/rack/head.rb:9:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/rack-1.3.4/lib/rack/methodoverride.rb:24:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/reloader.rb:245:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/logger.rb:305:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/sinatra-1.3.1/lib/sinatra/showexceptions.rb:21:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/rack-1.3.4/lib/rack/session/abstract/id.rb:195:in `context'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/rack-1.3.4/lib/rack/session/abstract/id.rb:190:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/sinatra-1.3.1/lib/sinatra/base.rb:1334:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/sinatra-1.3.1/lib/sinatra/base.rb:1403:in `synchronize'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/sinatra-1.3.1/lib/sinatra/base.rb:1334:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/router.rb:83:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/router.rb:76:in `each'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/router.rb:76:in `call'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/rack-1.3.4/lib/rack/handler/webrick.rb:59:in `service'
    /Users/elemay/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
    /Users/elemay/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
    /Users/elemay/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
    /Users/elemay/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/webrick/server.rb:162:in `start'
    /Users/elemay/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
    /Users/elemay/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/webrick/server.rb:95:in `start'
    /Users/elemay/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/webrick/server.rb:92:in `each'
    /Users/elemay/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/webrick/server.rb:92:in `start'
    /Users/elemay/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/webrick/server.rb:23:in `start'
    /Users/elemay/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/webrick/server.rb:82:in `start'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/rack-1.3.4/lib/rack/handler/webrick.rb:13:in `run'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/rack-1.3.4/lib/rack/server.rb:265:in `start'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/server.rb:45:in `start'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/server.rb:34:in `start'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/server.rb:12:in `run!'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/cli/adapter.rb:7:in `start'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/cli/base.rb:24:in `start'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/thor-0.14.6/lib/thor/task.rb:22:in `send'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/thor-0.14.6/lib/thor/invocation.rb:109:in `send'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/thor-0.14.6/lib/thor/invocation.rb:109:in `invoke'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/lib/padrino-core/cli/base.rb:29:in `s'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/thor-0.14.6/lib/thor/task.rb:22:in `send'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/thor-0.14.6/lib/thor/base.rb:389:in `start'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/gems/padrino-core-0.10.3/bin/padrino:9
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/bin/padrino:19:in `load'
    /Users/elemay/.rvm/gems/ruby-1.8.7-p334@test-padrino/bin/padrino:19

@nesquena
Copy link
Member

nesquena commented Oct 5, 2011

Here's the line that causes your issue:

# application/rendering.rb:273 
logger.debug :template, began_at, located_template[0] if settings.logging? && defined?(logger)

Looks like located_template[0] is being used by the logger and its not an array in all cases. @DAddYE can you take a look at this?

@EtienneLem just to confirm can you reproduce the error then change the disable :logging setting in app.rb (and restart the server) to see if this error goes away?

@EtienneLem
Copy link
Author

Oh!
I confirm; it does work when logging is disabled!

@nrichards
Copy link

Hi again, newbie here - having this trouble too in the blog app. I tweaked padrino to skip "if located_template is false" but it's good to know I can roll-back my tweak and simply disable logging. Every 'render' call was failing.

(My change which I plan to throw away:
logger.debug :template, began_at, located_template[0] if settings.logging? && defined?(logger) && located_template
)

@nesquena
Copy link
Member

nesquena commented Oct 6, 2011

@DAddYE we may have to do a hotfix release for this issue and the flash one. How did we not get bitten with this template issue before release :(?

@nesquena
Copy link
Member

nesquena commented Oct 6, 2011

Here's the commit that unfortunately caused this: acc1d6a for reference. Going to add an existence check to fix it now.

Any ideas on how we can improve our test coverage so we can catch these types of things more easily?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants