Salut !
j’utilise ruby avec ajax pour cacher ou bien faire apparaitre un DIV
suivant le rôle d’un utilisateur
edit.html.erb :
<%= f.label :role %>
<%= f.select(:role, %w{ Etudiant Parent Admin }, :selected =>
@user.role) %>
<%= observe_field :user_role, :frequency => 0.01, :on => "change",
:url => {:action => "selectList" }, :with => "user_role"%>
<%= f.label :parent_id %>
<%= f.collection_select(:parent_id, @listUser, :id, :nom, {:selected
=> @user.parent_id}) %>
user_controller :
def selectList
if params[:user_role] == “Etudiant”
respond_to do |format|
format.js
end
else
#render :js => “alert(‘Hello Rails’);”
render :update do |page|
page[:current_item].visual_effect :Fade, :duration => 0.2
end
end
end
ce code marcher très bien , j’ai le div affiché ou caché selon le rôle
de l’utilisateur , mon problème c’est que au chargement (évènement
onload) de la page edit.html.erb je veux manipuler le div selon le rôle
charger de mon User
pour cela j’ai essayé ceci :
le div en question ne réagit pas au chargement de la page , c’est quoi
le problem ? est ce qu’il y a une autre solution plus clean et plus
facile ?
merci pour l’aide
Bonjour,
Le 22 mars 2010 01:11, Anass L. [email protected] a écrit :
le div en question ne réagit pas au chargement de la page , c’est quoi
le problem ? est ce qu’il y a une autre solution plus clean et plus
facile ?
Il serait peut-être plus facile de jouer avec ton template et de ne pas
te
servir de javascript pour cette opération. Tu pourrais rajouter un style
“display:none;” dans la balise du div en question selon que ton @user a
tel
ou tel role.
">
Ou un truc de ce genre…
Jean-Baptiste
–
Vous avez reçu ce message, car vous êtes abonné au groupe “Railsfrance”
de Google G…
Pour transmettre des messages à ce groupe, envoyez un e-mail à l’adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l’adresse
[email protected]
To unsubscribe from this group, send email to
railsfrance+unsubscribegooglegroups.com or reply to this email with the
words “REMOVE ME” as the subject.
mais ce que je veux s’est d’avoir la possibilité de changer le rôle Ã
partir d’un “select” et par conséquence je veux que le div disparait ou
apparait à la volet c’est pour ça que j’utilise " observe_field" , ça
marche bien mais mon problème c’est au chargement de la page “Edit” , le
role est pre-selctionné bien sure à partir de @user.role mais le div
est visible par défaut mémé si le role est “Etudiant” .
j’espère que je suis assez claire
Merci