2011-10-18 72 views
1

好的,這裏是我的問題: 我在半徑系統中有一個tabel。爲了啓用熱點用戶,我需要此表中的兩個不同記錄。 該記錄具有字段user,attr,op,值 第一條記錄:屬性必須是Password(此記錄僅用於此處的密碼),value是密碼本身。 第二條記錄:屬性必須是類似Max-Allowed-Session的值,該值是以秒爲單位的整數。 因此,我將這作爲嵌套屬性添加到我的控制器客戶端。在新我這樣做:在一個創建中有兩個不同佈局/視圖的兩條記錄

def new 
@client = Client.new 
2.times do 
    radcheck = @client.radchecks.build 
end` 
respond to........ 
end` 

好吧,我認爲我有這樣的時刻:

f.fields for :radchecks do |rcbuilder| 
<p><%= rcbuilder.label :username %><br /><%= rcbuilder.text_field :username %> 
for all fields ..... 
end 

在我的控制器我建了兩個radchecks,所以這部分顯示了兩次。 也就是說地位,但我想有這樣的事情在我的網站

<first occurence of that form> 
<%= rcbuilder.hidden_field :attr, :value => "password" %> 
<%= rcbuilder.hidden_field :value, :value => @generated_password %> 
<end first occurence> 
<second occurence of that form> 
<%= rcbuilder.hidden_field :attr, :value => "Max-Allowed-Session" %> 
<%= rcbuilder.label :value, 'Time in hours' %><%= rcbuilder.text_field :value %> 
<end second occurence> 

Somone的有一個想法,意識到這一點。也許我必須自己編寫索引字段,但我該如何實現呢? 感謝您的幫助....

回答

0

假設您在客戶端模型中使用了accept_nested_attributes_for:radchecks。

<% index=1 %> 
f.fields for :radchecks do |rcbuilder| 
    <%= render :partial=>'radcheck_fields', :locals=>{:rcbuilder=>rcbuilder, :index=>index}%> 
<% index+=1 %> 
end 

接下來用下面的代碼創建一個名爲radcheck_fields.html.erb的部分代碼。

<% if index.eql?(1) %> 
    <%= rcbuilder.hidden_field :attr, :value => "password" %> 
    <%= rcbuilder.hidden_field :value, :value => @generated_password %> 
<% else %> 
    <%= rcbuilder.hidden_field :attr, :value => "Max-Allowed-Session" %> 
    <%= rcbuilder.label :value, 'Time in hours' %><%= rcbuilder.text_field :value %> 
<% end %> 
相關問題