1つの作成に2つの異なるレイアウト/ビューを持つ2つのレコード
-
25-10-2019 - |
質問
わかりました、ここで私の問題:私は半径システムにタベルを持っています。ホットスポットユーザーを有効にするには、このテーブルに2つの異なるレコードが必要です。レコードには、フィールドユーザー、attr、op、valueの最初のレコード:属性がパスワードである必要があります(このレコードはここでのパスワードのみです)、値はパスワード自体です。 2番目のレコード:属性は最大服用のようなものでなければなりません。値は秒単位で整数です。そこで、これをコントローラークライアントにネストされた属性として追加します。新しいでは私はそれをします:
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
私のコントローラーでは、2つのラドチェックを構築したため、この部分は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にはそれを実現するアイデアがあります。たぶん、私はインデックス化されたフィールドを自分で書かなければなりませんが、どうすればそれを達成できますか?手伝ってくれてありがとう....
解決
クライアントモデルで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 %>
所属していません StackOverflow