Uniwerslany partial

Chciałbym zrobić uniwersalny partial i staję na czymś takim:

mam np. :url => { admin_article_path(@article)} i jak teraz podmienić object w ścieżce? Chciałbym uzyskać coś takiego -

:url => { admin_…model…path(object) }
lub
:url => { admin
…object…_path(object} }

Z góry dzięki za jakieś wskazówki.

Do partiala możesz przekazać lokalną zmienną, np. render :partial => ‘my_partial’, :locals => { :obj => @article }

W partialu my_partial będziesz mógł skorzystać ze zmiennej obj

[quote=hosiawak]Do partiala możesz przekazać lokalną zmienną, np. render :partial => ‘my_partial’, :locals => { :obj => @article }

W partialu my_partial będziesz mógł skorzystać ze zmiennej obj[/quote]
no właśnie tu chodzi o ‘my_partial’, to w nim mam ten :url => { admin_article_path(@article)} i zamieniam @article na object, ale jak zmienić path żeby zamiast article wstawił określony model. Np. robię

show.erb

<@= render :partial => “my_partial”, :locals => {:object => @article} @>

_my_partial.erb

(…)

<@= coś_tam, :url => {admin_…model_name…_path(object)} @>

jak ładować nazwę modelu, w tym przypadku ‘article’?

object.class.to_s
na przykład? :slight_smile:

[quote=Tomash]object.class.to_s
na przykład? :)[/quote]
mniam, super, tyko jak to zapisać do ścieżki, próbuje - " # { … } " - i żadna tego kombinacja mi nie przechodzi

Skorzystaj z polymorphic_url

np.

[code=ruby]object = Article.new

polymorphic_url([:admin, object]) => “/admin/article/1”

object = Post.new
polymorphic_url([:admin, object]) => “/admin/post/1”[/code]
etc.

Dobra rzecz, nie znałem. Dziękować! :slight_smile:

Dokładnie, genialna sprawa, załatwia wszystko glanc - dzięki serdeczne!