Question

Ok, voici mon problème: i ai tabel dans un système de rayon. pour permettre à un point d'accès utilisateur i besoin de deux dossiers différents dans ce tableau. le dossier a l'utilisateur des champs, attr, op, valeur premier enregistrement: attribut doit être mot de passe (ce disque est que le mot de passe ici) et la valeur est le mot de passe lui-même. deuxième enregistrement: attribut doit être quelque chose comme Max-allowed-session une valeur est un entier en quelques secondes. J'ajoute donc ce que les attributs imbriqués à mes clients du contrôleur. Dans la nouvelle que je fais que:

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

Ok, à mon avis j'ai ce au moment:

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

Dans mon contrôleur i construit deux radchecks, donc cette partie est représentée deux fois. C'est le statut, mais je veux avoir quelque chose comme ça dans mon site

<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 a une idée de réaliser que. Peut-être que je dois écrire moi-même les champs indexés, mais comment puis-je y parvenir? grâce à l'aide ....

Était-ce utile?

La solution

En supposant que vous utilisez accepts_nested_attributes_for: radchecks dans votre modèle client.

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

Créez ensuite une radcheck_fields.html.erb partielle du nom avec le code suivant.

<% 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 %>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top