Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Reverse removal of link_to_remove helper #63

Closed
wants to merge 0 commits into from

2 participants

@binaryphile

There was a patch submitted to fix a no method error with link_to_remove when trying to edit a product's ad-hoc option types, issue #52.

The latest commits to upgrade to spree 1.3 removed this fix. However, the error seems to have recurred because of it.

I added the file back and tested on 1.3-stable. It works for me, I went through the whole process of editing ad-hoc option types. So I'm submitting this pull request.

@nostopbutton

Ted - I'm not sure this actually fixes the problem.

In core Spree 1.3 link_to_remove_fields expects 3 arguments. This change redefines the method (I'm new to Ruby, but seems that there is no concept of method overloading) so the places where core Spree calls link_to_remove_fields now fail (e.g. app/views/spree/admin/option_types/_option_value_fields.html.erb).

I've been digging around in the code (but Rails is pretty new to me too) I think the underlying cause of the error is to do with the routing. The method is trying to use a path admin_customizable_product_option however the route defined in routes.rb is: admin_product_customization_type_customizable_product_option.

I'll carry on playing with it to see if I can get it working and then try to share my changes.

@binaryphile
@nostopbutton

Yes - the code in this extension still uses the older 2 argument signature, but this should be changed to be in line with the changes in Spree 1.3.

Example: _option_value_fields.html.erb

<%= link_to_remove_fields t(:remove), f, :no_text => true %>

@nostopbutton

To clarify a bit further, it seems to be the nested resources in routes.rb that are causing the issues:

resources :product_customization_types do
  resources :customizable_product_options do

resources :ad_hoc_option_types do
  resources :ad_hoc_option_values do

These are creating the following paths:

admin_product_customization_type_customizable_product_option
admin_ad_hoc_option_type_ad_hoc_option_value 

But the paths generated in the link_to_remove_fields method is

admin_customizable_product_option
admin_ad_hoc_option_value 

That's why we're getting those error messages saying that the path isn't found.

@binaryphile

I don't know why this worked for me before but not now, but it doesn't. I'm closing this request.

@binaryphile binaryphile closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

binaryphile:develop was force-pushed and no longer has any new commits.

Pushing new commits will allow the pull request to be re-opened.

This page is out of date. Refresh to see the latest.

binaryphile:develop was force-pushed and no longer has any new commits.

Pushing new commits will allow the pull request to be re-opened.

Something went wrong with that request. Please try again.