Две записи с двумя разными макеты/представления в одном создании

StackOverflow https://stackoverflow.com/questions/7803300

  •  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 %>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top