I've generally got around this issue by including helper generated urls in data-* attributes or in json generated on the server, but perhaps there's situations where those solutions don't work.
On Fri, Jan 25, 2019 at 9:08 AM Bogdan Gusiev <agre...@gmail.com> wrote: > Good Morning, > > Rails route URL helpers are great. Their API is concise and intuitive. > I believe that we should have that API available in Javascript too: > > users_path() // => "/users" > user_path(1) // => "/users/1" > user_path(1, {format: 'json'}) // => "/users/1.json" > user_path(1, {anchor: 'profile'}) // => > "/users/1#profile" > new_user_project_path(1, {format: 'json'}) // => > "/users/1/projects/new.json" > user_project_path(1,2, {q: 'hello', custom: true}) // => > "/users/1/projects/2?q=hello&custom=true" > user_project_path(1,2, {hello: ['world', 'mars']}) // => > "/users/1/projects/2?hello%5B%5D=world&hello%5B%5D=mars" > > > > Most Rails projects I know hardcode routes in Javascript, some pass those > routes from HTML as data attributes. > Like: > > jQuery.get("/posts/" + post.id + "/comments/" + comment.id + ".json", > function(){ ...}); > // slightly better > jQuery.get($(this).data("url"), function(){ ...}); > > > > > But I believe that extensive use of JS should require URL helpers. > > Here is the "prototype" 8 years old project I maintain: > https://github.com/railsware/js-routes > But I believe 90% of Rails projects need that out of the box now. > > What do you think about adding the functionality to the Rails core? > > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Core" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to rubyonrails-core+unsubscr...@googlegroups.com. > To post to this group, send email to rubyonrails-core@googlegroups.com. > Visit this group at https://groups.google.com/group/rubyonrails-core. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-core+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-core@googlegroups.com. Visit this group at https://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/d/optout.