Gan
December 12, 2008, 3:33pm
1
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
Gan
December 12, 2008, 4:59pm
3
[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’?
Tomash
December 12, 2008, 6:13pm
4
object.class.to_s
na przykład?
Gan
December 12, 2008, 6:48pm
5
[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.
Tomash
December 12, 2008, 9:00pm
7
Dobra rzecz, nie znałem. Dziękować!
Gan
December 12, 2008, 9:09pm
8
Dokładnie, genialna sprawa, załatwia wszystko glanc - dzięki serdeczne!