2009-10-17 5 views
0

J'essaie de chaîner un calendaer_date_select à un champ de sélection, ainsi la liste de sélection est filtrée par la date choisie. Je l'ai suivi les instructions comme décrit hereEnchaîner un calendrier_date_select à une sélection dans ActiveScaffold

J'ai dans la config ActiveScaffold:

config.columns[:order_date].form_ui = :calendar_date_select 
config.columns[:order_date].options = {:update_column => :sale} 
config.columns[:sale].form_ui = :select 

... et dans l'aide:

def options_for_association_conditions(association) 
    if association.name == :sale 
    {'sales.order_date' => @record.order_date} 
    else 
    super 
    end 
end 

Le problème est que choisir une date à partir de la widget widget javascript ne déclenche pas la sélection pour actualiser. Cependant, si je tape la date alors c'est le cas. Des idées?

+0

Je l'ai utilisé ActiveScaffold pendant un certain temps et il est pas le meilleur à utiliser si vous voulez être sur le bord de RoR. Ils ne sont pas mis à jour en temps opportun et j'ai dû le réparer moi-même plusieurs fois. Ne pas offrir cela comme une réponse, mais plus d'un conseil. – Zepplock

+0

C'était un bug avec ActiveScaffold. J'ai soumis un ticket et réparer la nuit dernière. Ce matin, le référentiel maître a été mis à jour avec un correctif. Mettre à jour le plugin et cela fonctionnera comme annoncé. – EmFi

Répondre

0

C'était un bug avec ActiveScaffold qui a été réparé ce matin. Donc, cloner à nouveau le dépôt résoudra vos problèmes. Pour l'enregistrement, la méthode ActiveScaffold utilise pour surveiller les modifications n'atteint pas la façon dont Calendar Date Select définit le champ. ActiveScaffold surveille les événements de changement dans les champs pour les mises à jour des colonnes. Les événements de changement sont déclenchés par une modification de la valeur d'un champ entre le moment où il gagne et celui où il perd le focus. Calendar Date Select modifie la valeur sans donner ou retirer le focus du champ.

Si vous ne vous sentez pas comme la mise à jour vos plug-ins, vous pourriez pirater ensemble votre auto en procédant comme suit:

config.columns[:order_date].options = {:update_column => :sale} 

à

config.columns[:order_date].options = {:update_column => :sale, 
    :before_show => 'this.focus()', :onchange => 'this.blur()'} 
+0

Merci EmFi Je vais mettre à jour AS et faire rapport –

Questions connexes