Sean Hussey
2005-Oct-21 15:49 UTC
ModelSecurity issues: User vs. Person (was: "cannot convert Symbol into String" after renaming model)
Actually, scratch that. It''s not a bad environment. It has something
to do with ModelSecurity.
If I take out the code that ModelSecurity puts into application.rb,
everything goes back to normal and the auto complete works with
:person, as expected.
I haven''t introduced any further ModelSecurity code to my app, but
maybe I should. I''ve created an admin user. The failure happens
whether or not I''m logged in.
Any ModelSecurity users who can speak to this? The template trace and
session dump are below.
Thanks,
Sean
TypeError in Manager#
Showing /manager/search.rhtml where line #50 raised:
cannot convert Symbol into String
Extracted source (around line #50):
47: </style>
48: <%= start_form_tag :action => ''show'' %>
49: Search for people<br />
50: <%= text_field_with_auto_complete :person, :username, { :size =>
30 }, :skip_style => true -%><br />
51: <%= submit_tag "Show" %>
52: <%= end_form_tag %>
53: </div>
Show template trace
/app/helpers/model_security_helper.rb:87:in `+''
/app/helpers/model_security_helper.rb:87:in `restricted_input''
/app/helpers/model_security_helper.rb:80:in `text_field''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_view/helpers/javascript_helper.rb:405:in
`text_field_with_auto_complete''
(erb):50:in `evaluate_locals''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_view/base.rb:272:in
`evaluate_locals''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_view/base.rb:283:in
`rhtml_render''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_view/base.rb:208:in
`send''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_view/base.rb:208:in
`render_template''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_view/base.rb:173:in
`render_file''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/base.rb:588:in
`render_with_no_layout''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/layout.rb:216:in
`render_without_benchmark''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/benchmarking.rb:25:in
`render''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/benchmarking.rb:25:in
`measure''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/benchmarking.rb:25:in
`render''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/base.rb:591:in
`render_with_no_layout''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/layout.rb:216:in
`render_without_benchmark''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/benchmarking.rb:25:in
`render''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/benchmarking.rb:25:in
`measure''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/benchmarking.rb:25:in
`render''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/base.rb:604:in
`render_with_no_layout''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/layout.rb:210:in
`render_without_benchmark''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/benchmarking.rb:25:in
`render''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/benchmarking.rb:25:in
`measure''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/benchmarking.rb:25:in
`render''
/app/controllers/manager_controller.rb:3:in `index''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/base.rb:756:in
`send''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/base.rb:756:in
`perform_action_without_filters''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/filters.rb:295:in
`perform_action_without_benchmark''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/benchmarking.rb:41:in
`perform_action_without_rescue''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/benchmarking.rb:41:in
`measure''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/benchmarking.rb:41:in
`perform_action_without_rescue''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/rescue.rb:80:in
`perform_action''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/base.rb:356:in
`send''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/actionpack-1.9.1/lib/action_controller/base.rb:356:in
`process''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/rails-0.13.1/lib/dispatcher.rb:32:in
`dispatch''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/rails-0.13.1/lib/fcgi_handler.rb:144:in
`process_request''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/rails-0.13.1/lib/fcgi_handler.rb:64:in
`process!''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/rails-0.13.1/lib/fcgi_handler.rb:55:in
`each_cgi''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/fcgi-0.8.6.1/./fcgi.rb:597:in
`each''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/fcgi-0.8.6.1/./fcgi.rb:597:in
`each_cgi''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/rails-0.13.1/lib/fcgi_handler.rb:55:in
`process!''
/Applications/Locomotive/Bundles/rails-0.13.1-max.bundle/Contents/Resources/ports/lib/ruby/gems/1.8/gems/rails-0.13.1/lib/fcgi_handler.rb:21:in
`process!''
/Users/sean/Projects/Rails/ldapadmin/public/dispatch.fcgi:24
Request
Parameters: None
Show session dump
---
:user: !ruby/object:User
attributes:
name: Sean Hussey
salt: NvUmk6R7EtiJJ8v//E8kMx1dGelb2831nI1UBnry
created_on: 2005-10-17 13:00:28
token: ''''
updated_on: 2005-10-17 13:00:28
admin: "1"
lock_version: "1"
id: "1"
cypher:
e37f7203e29173924ec6bfbaff2f659b87569115778f4f5b7da3cd8fa4b40f81a7b199b0080cb9502242bea759c85e247ccb630699f4253724803880e166dbfa
activated: "1"
token_expiry: 2005-10-17 13:00:28
login: ldapadmin
email: shussey-P6oFqSfzpKaVc3sceRu5cw@public.gmane.org
flash: !ruby/hash:ActionController::Flash::FlashHash {}
Response
Headers: {"cookie"=>[],
"Cache-Control"=>"no-cache"}
On 10/19/05, Sean Hussey
<seanhussey-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:> Tried that. No go:
>
> undefined method `readable?'' for nil:NilClass
>
> Maybe there''s something different about the Locomotive bundles
that I
> did or didn''t have in my pervious local installation.
>
> I think I''ve narrowed it down to my environment, but I
can''t run
> script/server to see. I get this:
>
>
/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.1.1/lib/active_support/clean_logger.rb:13:in
> `remove_const'': constant Logger::Format not defined (NameError)
> from
/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.1.1/lib/active_support/clean_logger.rb:13
> from
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
> `require''
> from
/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.1.1/lib/active_support.rb:31
> from
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
> `require''
> from ./script/../config/environment.rb:50
> from ./script/server:42
>
> I''ll have to try to find another way to get this working, though.
> Thanks for the help!
>
> Sean
>
> On 10/18/05, Tom Davies
<atomgiant-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> > Have you tried changing your :person and :username to strings?
> >
> > As in:
> >
> > <%= text_field_with_auto_complete ''person'',
''username'', { :size => 30 },
> > :skip_style => true -%>
> >
> > Tom
>