2010-05-13 6 views
0

J'utilise le plugin super_inplace_controls pour permettre aux utilisateurs d'éditer des champs sur la page "show". Cependant, je rencontre un problème avec la fonction in_place_select. Voici ma vue:Les contrôles Super inplace in_place_select s'affichent de manière incorrecte

<p> 
    <b>Status:</b> 
    <%= in_place_select :incident, :incident_status, :choices => @statuses.map { |e| [e.name, e.id] } %> 
</p> 

Ceci est dans la vue 'Incident'. IncidentStatus est une table distincte qui a_many Incidents. Dans le contrôleur d'incident, je récupère @statuses comme ceci:

@statuses = IncidentStatus.find(:all) 

Tout fonctionne très bien pour le in_place_select, sauf que l'écran d'origine. Dans mon navigateur, il montre:

Status: #<IncidentStatus:0x1033147d8> 

Ce qui signifie qu'il est pas saisir la incident_status.name actuelle, mais il est juste de changer l'objet à une chaîne. Je ne suis pas sûr de savoir comment résoudre ce problème! Lorsque je clique sur le "IncidentStatus: 0x1033147d8", tout fonctionne correctement et je peux sélectionner les champs appropriés.

Merci pour toute aide!

Répondre

0

Je l'ai compris. Il s'avère que vous pouvez transmettre: display_text en option. J'ai donc fait ce qui suit:

<%= in_place_select :incident, :incident_status, :choices => @statuses.map { |e| [e.name, e.id] }, :display_text => @status.name %> 
Questions connexes