leikind / wice_grid

A Rails grid plugin to create grids with sorting, pagination, and (automatically generated) filters
MIT License
536 stars 215 forks source link

Strange paging behavior in production environment... #288

Open statespindle opened 8 years ago

statespindle commented 8 years ago

Hello.

Have a project that has multiple routing constraints in the routing file setup by subdomain. When wice_gird is rendered, on the development machine the paging links in the paginator are correct and go to the correct links. However, moving the project to a production environment (different config), the paging links are appending multiple constraints subdomains into the links themselves.

For instance (development), the paging link that is generated for the arrows/pages, etc. may look like this (this works): https://admin.localhost.dev:3000/books?grid%5Bpage%5D=4

But in the production environment (this doesn't work for paging) -- (notice the 'api' subdomain addition): https://admin.api.productionpath.com/books?grid%5Bpage%5D=4

I'm not sure if this is due to the environment config files in production environment. These are the settings I'm using: config.cache_classes = true (false in development) config.eager_load = true (false in development) config.consider_all_requests_local = false (true in development) config.action_controller.perform_aching = true (false in development) config.assets.compile = false (not in development config) config.assets.digest = true (true in development) config.force_ssl = true (not in development config)

These are the only things (other than database connections) that are different between the two environments.

The routing file looks like this: constraints subdomain: 'admin' do # Bunch of defined routes ... NOT using resources keyword in either contraint, all paths are defined like below: get 'path/path', to: 'path to controller/action', as: :name_of_path end ` constraints subdomain: 'marketing' do # Same as above different names, etc. end constraints subdomain: 'api' do # Same as above but diffrent controllers, etc. end`

Anyone have any reason why pathing for paging works in development, but acts strange in production?

leikind commented 8 years ago

you probably have some JS magic on your page messing with the DOM, right?

statespindle commented 8 years ago

I do have some Javascript, but why would this make a difference from a development to production environment?

statespindle commented 8 years ago

So, I've tried changing the config settings to match as closely to Development as possible with the same result. The production environment is using Heroku. Is there anything you might think of that could be an issue using Heroku?

statespindle commented 8 years ago

I updated the routing issue in the question.. I updated the production route to show whats happen, I had inadvertently omitted the "2nd" subdomain... so perhaps that will clarify it more... Sorry...

leikind commented 8 years ago

I still can't see what difference between prod and development can result in such effect :-(