2016-03-31 22 views
0

Bu kodu kullanarak bir değişkeni kısmi olarak nasıl geçirebilirim? :raylar: değişkeni kısmi olarak değiştir

Ben geçmesi "id = 1" ve ardından _improvement_action içinde, kullanmak istediğiniz
<%= render @performance_indicator.improvement_actions.order("created_at DESC") %> 

o değişken gibi:

<%= id %> 

DÜZENLEME:

: Bu kısmi benim improvement_action

olduğunu https://gist.github.com/luisamaro0/6597084f2de1dc33cde7c014ea9f23a5

+1

Olası kopyalar [ Raylar 3, yerel değişkeni kısmi olarak geçirme] (http://stackoverflow.com/questions/6279651/rails- 3-geçiren-yerel-değişken-kısmi) – FluffyKittens

cevap

3

Yerel bir değişkeni şu şekilde iletebilirsiniz:

render "a_partial", :a_local_variable => whatever, :another_variable => another

fazla ayrıntı için bu soruya bakın: Rails 3, passing local variable to partial

+0

Oluşturulmuş bir yerel değişkeni geçemiyorum? – terrorista

+0

Evet, sorununun yanlış anlaşılmasında hatam olabilir. Cevabımı güncelledim ve sizi benzer bir soruyla ilişkilendirdim. – FluffyKittens

+0

Bu soruyu daha önce gördüm ve şu şekilde denedim: '<% = render @ performance_indicator.improvement_actions,: a_local_variable => 'ne olursa olsun'%>' fakat çalışmaz, kısmi – terrorista

1

bu sözdizimi deneyin bu

<%= render partial: 'partial_name', locals: {id: '1'} %> 
+0

bunu denedim ama işe yaramadı '<% = kısmi hale getirme: 'development_actions/improvement_action', locals: {id: '1'}, toplama: @ performance_indicator.improvement_actions%>' – terrorista

+0

hata veren nedir @terrorista –

+0

undefined local variable veya method 'id' – terrorista

0

gibi bir değişken geçirebilirsiniz:

<%= render @performance_indicator.improvement_actions, locals: { local_variable: 1 %> 
# then <%= local_variable %> 
ait
+0

tanımsız yerel değişkenle veya "local_variable" yöntemiyle düzenledim – terrorista

İlgili konular