2011-10-18 6 views
1

ここをクリックしてください。問題: 半径システムにタブーがあります。 hotspot-userを有効にするには、この表で2つの異なるレコードが必要です。 レコードにフィールドuser、attr、op、値 があります。最初のレコード:属性はPasswordでなければなりません(このレコードはここのパスワードのみです)。値はパスワードそのものです。 2番目のレコード:属性はMax-Allowed-Sessionのようなものでなければなりません。値は秒単位の整数です。 これをコントローラクライアントにネストされた属性として追加します。2つの異なるレイアウト/ビューのレコードが2つあります。

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

は、[OK]を、私の見解で、私は、現時点ではこれを持っている:私はそれを行う新しいでは

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

私のコントローラでは私は2つのradchecksを建てたので、この部分が2回表示されます。状態ですが、私は私のウェブサイトでこのようなものを持っていたい

<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

あなたのクライアントモデルではaccepts_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 %> 
関連する問題