I have to say that Rails is great. 5.1 introduces a wonderful feature for 
my need: direct 
http://edgeapi.rubyonrails.org/classes/ActionDispatch/Routing/Mapper/CustomUrls.html#method-i-direct

Now in config/routes.rb I can write:

# Content model includes FriendlyId, so content_path(Content.first) calls 
record.to_param using the slug
resources :contents

direct 'edit_admin_content' do |record, options|
  # Here I specify to use the record id, so the resource url will fit 
better with admin section purposes
  options.merge controller: '/admin/contents', action: :edit, id: record.id
end

Same for actions :show, :update and :destroy. Problem solved!

Il giorno giovedì 20 aprile 2017 15:49:55 UTC+2, André Orvalho ha scritto:
>
> I don't think it is an hack what you are doing.
>
> To actually have routes receiving different types of ids you probably 
> needed to change how those helpers are generated by rails.
> That means you might have to monkey patch rails.
>
> The alternative rails is giving you to be able to do this is by doing 
> this: admin_content_path(id: content.id)
>
> So it allows you to pass to override the id passed as argument.
>
> I am sorry but I dont think there is a way around this.
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/2c64950f-5faa-458f-b0f5-2bfdd4017586%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to