Две записи с двумя разными макеты/представления в одном создании
-
25-10-2019 - |
Вопрос
Хорошо, здесь моя проблема: у меня есть табель в радиус-системе. Чтобы включить пользователя горячей точки, мне нужны две разные записи в этой таблице. В записи есть пользователь Fields, ATTR, OP, Value First Record: атрибут должен быть паролем (эта запись предназначена только для пароля здесь), а значение - сам пароль. Вторая запись: атрибут должен быть чем-то вроде максимального схватываемого сессии. Значение является целым числом за считанные секунды. Поэтому я добавляю это в качестве вложенных атрибутов к моим клиентам контроллера. В новом я делаю это:
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
В моем контроллере я построил два радуса, поэтому эта часть показана два раза. Это статус, но я хочу иметь что -то подобное на моем сайте
<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 есть идея понять это. Может быть, мне нужно написать индексированные поля сам, но как я могу этого достичь? Спасибо за помощь....
Решение
Предполагая, что вы используете access_nestest_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 %>