Ruby Forum Rails France > Changer une propriété CSS dans un contro leur (ou une vue)

Posted by Tranquiliste (Guest)
on 02.08.2008 20:17
(Received via mailing list)
Bonjour je sens que je vais poser une question trivial (et je m'en
excuse).

Voilà, j'ai une présentation en 2 colonnes C1 et C2 dont je définie la
taille dans mon css ( 550 et 200), la colonne C2 n'ayant pas toujours
de contenu en fonction des pages affichées, je la gère avec un        <
%= yield :column2 %>.

Mon problème est que quand je sais que je ne ais pas afficher la
colonne2 j'aimerai bien mettre la taille de la colonne1 à 770.

Comment je peux faire?

- J'ai pensé à mettre l'attribut taille dans ma vue avec une variable
que je mettrai à jour dans mon controleur
        <div id="column1" style="WIDTH:#{@size}px">
Mais ce n'est pas forcément très propre

Ou sinon utiliser du javascript dans mon controleur pour mettre la
taille avant l'affichage mais je ne suis pas sur de la syntaxe pour le
faire
    render :update do |page|
      page.Element.setStyle('column1', {width:'770'})
    end

Merci de votre aide.
Nicolas
Posted by Tranquiliste (Guest)
on 02.08.2008 20:54
(Received via mailing list)
J'ai temporairement résolu ce pb avec la première solution
        <div id="column1" style="WIDTH:<%= @column2_width %>px">

Mais si quelqu'un à une autre solution, qu'il n'hésite pas ;)

Nicolas
Posted by Cyril Mougel (shingara)
on 02.08.2008 22:30
(Received via mailing list)
2008/8/2 Tranquiliste <nicolas@nikonpassion.com>:
>
> J'ai temporairement résolu ce pb avec la première solution
>        <div id="column1" style="WIDTH:<%= @column2_width %>px">
>
> Mais si quelqu'un à une autre solution, qu'il n'hésite pas ;)
>

et pourquoi pas un petit helper :

content_tag(:div, :id => 'column1', :class => (test ? 'big' : 'little') 
do
   ...
end

tu fais un test pour changé de class. En fonction de la class de
l'élement en CSS du défini la taille (plus pratique surtout pour
changé dans le futur sans touché au code des vue)



--
Cyril Mougel
http://blog.shingara.fr
Posted by Tranquiliste (Guest)
on 04.08.2008 01:25
(Received via mailing list)
Merci Cyril, je ne connaissais pas content_tag, c'est effectivement
une solution plus élégante et plus "maintenable"

Nicolas