Closed beta mode is on my list of things to cut (very soon).
On Tue, Feb 9, 2010 at 4:45 PM, Patrick Minton <[email protected]>wrote:
> In looking at this again, I discovered that having the "closed_beta_mode"
> flag in application.yml set to true causes the filter chain to halt at
> inappropriate junctures (even when a user is logged in), so the
> topics_controller never gets to the :before_filter that sets @forum and
> @topic. I haven't seen any other controllers affected so I don't know why
> it happens here, but if I remove that flag in application.yml, everything's
> fine.
>
> Guess I will have to "hide" my app behind a :before_filter in
> application_controller.rb that requires a login instead of using this flag.
>
> On Feb 9, 2010, at 1:55 PM, Patrick wrote:
>
> > When I try to visit any page that contains a topic (show, edit, etc
> > for a given topic), I am getting this:
> >
> > You have a nil object when you didn't expect it!
> > The error occurred while evaluating nil.editable_by?
> >
> > The offending line is in this method:
> >
> > def authorized?
> > %w(new create).include?(action_name) || @topic.editable_by?
> > (current_user)
> > end
> >
> > Basically, @topic is nil even though the topic I am trying to view
> > exists. What's even more curious is that the server reveals that
> > the :before_filter function that sets the @forum and @topic variables
> > isn't being called:
> >
> > Processing TopicsController#show (for 127.0.0.1 at 2010-02-09
> > 13:27:26) [GET]
> > Parameters: {"forum_id"=>"1-project-board", "id"=>"1-this-is-a-dummy-
> > project"}
> > [I18n] loading locale: en from config
> > [I18n] Locale set to en
> > User Load (1.2ms) SELECT * FROM "users" WHERE ("users"."id" = 1)
> > LIMIT 1
> >
> > NoMethodError (You have a nil object when you didn't expect it!
> > The error occurred while evaluating nil.editable_by?):
> > vendor/plugins/community_engine/app/controllers/topics_controller.rb:
> > 118:in `authorized?'
> > haml (2.2.17) lib/sass/plugin/rails.rb:19:in `process'
> >
> > There should be a line in there that looks something like " SELECT *
> > FROM "forums" WHERE ("forums"."id" = 1) LIMIT 1", and something
> > similar for topics, shouldn't there? This function:
> >
> > def find_forum_and_topic
> > @forum = Forum.find(params[:forum_id])
> > @topic = @forum.topics.find(params[:id]) if params[:id]
> > end
> >
> > doesn't look like it is being called.
> >
> > Any ideas?
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> "CommunityEngine" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> [email protected]<communityengine%[email protected]>
> .
> > For more options, visit this group at
> http://groups.google.com/group/communityengine?hl=en.
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "CommunityEngine" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<communityengine%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/communityengine?hl=en.
>
>
--
You received this message because you are subscribed to the Google Groups
"CommunityEngine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/communityengine?hl=en.