2011-05-30 36 views
5

我有一個類似的部分:如何在ERB模板中將變量值插入HTML標記中?

<% office.map do |o| %> 
    <input id='city' name='company[company_office][0][city]' value=.... type='text' /> 
<% end %> 

我怎樣才能像插入一個o.office值轉換爲屬性? value="#{o.office}"不起作用。當你不使用ERB

回答

15
<% office.map do |o| %> 
    <input id='city' name='company[company_office][0][city]' value='<%= o.office %>' type='text' /> 
<% end %> 

或可以使用的形式助手對於

+0

不,我不能使用表單助手,因爲我有特定的名字。非常感謝,我不知道,我想寫報價) – maxfry 2011-05-30 04:11:45

+2

你是什麼意思具體名稱?也不建議遍歷到循環並使用相同的ID創建輸入。你應該讓你的id和名字動態。 – corroded 2011-05-30 04:21:46

8

使用嵌入式紅寶石(ERB)標籤,

<%= o.office %> 

你會使用#{o.office}唯一的一次,。例如,在一個輔助方法中,你想在一個字符串中使用你的ruby。但是當你在html.erb文件中時,你必須使用erb標籤。

+1

<%= content_tag:輸入,:ID => 「城市」,:名稱=> 「公司[company_office] [0] [城市]」 ,:value =>「#{o.office}」,:type =>「text」%> 可以這樣做,我想。 – ardavis 2011-05-30 04:13:06

+2

同意最高票數的答案。 '<%= o.office%>'只是想補充一點,對於初學者來說,識別具有和不具有等號的btwn erb標籤是很重要的。 '<%= ... %>'與'<% ... %>'**帶有等號的標記**表示包含的代碼是一個表達式並將代碼呈現爲一個字符串。用於將代碼行嵌入到模板中以顯示變量的內容。 **沒有等號的標籤**通常用於在Ruby中包含循環/條件邏輯。 – lavapj 2013-02-17 00:18:06

相關問題