Path z :format

witam, da sie w jakiś sposób przekształcić
link_to “cos tam”, user_path(@user, format: ‘pdf’)
na takie cos
link_to “cos tam”, @user, format: ‘pdf’
chodzi mi o to żeby była zmienna instancji i format bo w tym momecie nie zadziała to drugie podejscie a nie chce korzystac z “_path”.

ok rozwiazalem problem w ten sposób

url_for(controller: params[:controller], action: ‘show’, format: “pdf”)

ale może da sie to ładniej zapisać ?

Wedle mojej wiedzy się nie da i user_path(@user, format: ‘pdf’) jet całkiem dobrym rozwiązaniem.

Owszem jest, tylko ze ja mam dziedziczenie STI i chce zeby jeden link dzialal dla kilku kontrolerów, a w tym przypadku nie zadziała

A url_for(@user, format: :pdf) nie działa?

nie zadziała bo dla zmiennej instancji url_for przyjmuje tylko jeden argument.

Oj tam nie da się :wink:

<%= link_to 'json', polymorphic_url(@post, :format => :json) %>

Jak do tego dojść?

  1. Czytasz jak działa metoda (w sensie kod) #url_for: http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-url_for
  2. Widzisz użycie #polymorphic_path, więc przechodzisz krok dalej: http://api.rubyonrails.org/classes/ActionDispatch/Routing/PolymorphicRoutes.html#method-i-polymorphic_path

Tutaj już z kodu widać, że options jest przekazywane dalej

I o to mi właśnie chodziło :smiley: dzięki , od dzisiaj również zerkam na source nie tylko na examples w dokumentacji :smiley: