2012-05-27 44 views
0

我將模板索引頁作爲DRY的部分模板。 的A部分:當地人被傳遞到部分如下:Rails - 如何在模型中使用字符串訪問同名的屬性?

<% data_set.each do |d| %> 
    <%= d.:attr_1 %> 
<% end %> 

我以前的嘗試:

:locals => { :data_set => @accounts # @accounts is set in the controller as @accounts = Account.find(:all) 
      :attr_1 => "name" } 

我希望能夠在部分一起做的線條所有結束與打印「名稱」而不是d.name這是我想要的內容。

有沒有辦法做到這一點,或者更好的方式來做我想做的事情?

回答

0

您正在爲值「名稱」分配鍵attr_1。它總是會成爲名字。

如果data_set中的對象具有名爲name的屬性,則根本不需要第二個變量。你只需要做

<% data_set.each do |d| %> 
    <%= d.name %> 
<% end <%> 

否則,如果你想獲得扭曲和真的想通過名字作爲一個方法調用,因爲,比方說,你在數據對象的幾種不同類型的設置可以轉而做

<%= d.send attr_1 %> 

這將發送「名稱」的對象d。

+0

事實上,我需要對此嗤之以鼻。使用d.send是我需要的,謝謝=] – bdx

相關問題