On 07/29/2011 04:51 PM, Chris Lalancette wrote:
On 07/29/11 - 04:06:10PM, Tomas Sedovic wrote:
On 07/29/2011 03:19 PM, Chris Lalancette wrote:
On 07/29/11 - 01:19:26PM, Tomas Sedovic wrote:
On 07/29/2011 12:27 PM, Chris Lalancette wrote:
All, Taking a quick look around the code, it doesn't seem like we need the rack-restful_submit gem anymore. Is that true? If so, I would like to remove it from the Gemfile and the specfile, but I wanted to make sure I wasn't missing anything before doing that.
Thanks,
Hey Cris,
The scenario for restful_submit is this: you have a list of stuff with checkboxes. You can select multiple items and run several actions on all of them at once.
Example:
We give you a list of deployments and you'd like to select 4 of them that are running and stop them. Or select the 5 that are down and restart them. Or delete them.
Or like the Gmail interface.
Once we have more than one such action (stop/restart/delete/whatever), we need restful_submit if we want it to work with JavaScript disabled (which we do).
Currently, we don't have that situation in the UI, so we could remove it now and put it back once that need arises.
However, we do use the `restful_submit_tag` helper in our views, so ditching the gem would mean rewriting the forms to use regular submit instead.
Right, thanks for the explanation. There is still something I don't understand, though. If you look in (say) src/app/views/pool_families/_list.haml, you do indeed see a reference to restful_submit_tag. But then if you look in src/app/helpers/application_helper.rb, you'll see that restful_submit_tag is defined in there.
So it would seem to me that we already have that functionality in our codebase, and we don't need the external gem. What am I missing?
It's a bit more complicated.
All the helper does is add some hidden params to the "restful action buttons" in our views/generated html.
The restful_submit gem provides a Rack middleware that translates these params to appropriate controller actions.
It's very similar to using `_method="put"` in an HTML form and have Rails understand that as a HTTP PUT request.
If we drop the gem but keep Conductor untouched, there will be no errors, but the restful_submit_buttons will not behave correctly.
Ah, OK. That was the bit I was missing.
OK, so I'll make sure to enable that gem in the Gemfile for now. We can investigate whether we should remove it completely once things have settled down a bit more.
Update:
Jiri Tomasek discovered that as it is, the rack-restful_submit gem doesn't seem to work properly anyway.
I've mentioned before, it's a Rack middleware that has to insert itself before Rails in the middleware chain. It looks like some change either in Rails or Rack breaks it.
So, Jiri is now working on removing it from the code. We can then drop it from the RPM/gem requirements.
If we require it later on, we can look at bringing it up-to-date with Rails 3 or contemplate a different solution.
thomas|shadow