SitePoint Sponsor

User Tag List

Results 1 to 3 of 3
  1. #1
    SitePoint Zealot
    Join Date
    Jul 2004
    Location
    NC
    Posts
    194
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Problem w/ routing constraints

    Hello,
    I am having a strange problem w/ rails 3 routing constraints. I have this custom class w/ a self.matches? method as such:

    Code:
    class PersonalizedDomain
    
      def self.matches?(request)
        Rails.logger.info("self.matches? NEVER CALLED!!!!")
      end

    and in routes I use the custom Class like this:

    Code:
      constraints(PersonalizedDomain) do
          
         Rails.logger.info("constraints block ENTERED")
          root :to => "projects#show"
      end
    The self.matches?(request) method never gets called and I don't understand why?

  2. #2
    SitePoint Zealot
    Join Date
    Jul 2004
    Location
    NC
    Posts
    194
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    forgot to mention that I'm requiring lib/personalized_domain in routes:
    Code:
    require 'personalized_domain' #resides in lib

    and in application.rb, I load my lib paths:

    Code:
    config.autoload_paths += %W(#{config.root}/lib)

  3. #3
    SitePoint Zealot
    Join Date
    Jul 2004
    Location
    NC
    Posts
    194
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    SOLUTION: Here's an update - I did figure out why my custom constraint wasn't working correctly and here's the changes I made:

    In PersonalizedDomain I changed the self.matches? method from a class method to an instance method as such:

    Code:
    # lib/personalized_domain.rb
    class PersonalizedDomain
      def matches?(request)
        case request.host
        when "www.#{APP_CONFIG[:domain]}", "#{APP_CONFIG[:domain]}", nil
          false
        else
          true
        end
      end
    end
    and in routes I did this:

    Code:
    constraints(PersonalizedDomain.new) do
          resources :posts
          resources :personalized
      end


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •