2016-09-26 2 views
1

Je ne connais pas beaucoup Rails.Appelez Rails Helper à partir de Javascript

Existe-t-il un moyen de mettre à jour/créer un script Rails à partir de Javascript? J'utilise un assistant qui édite des images et crée une nouvelle URL d'image. J'ai plusieurs images sur la page Web, mais chaque image a 3 URL avec des images de différentes tailles à afficher en fonction de la taille/orientation de l'écran.

Au lieu de créer 3 balises divs/img pour chaque image, et donc d'écrire les lignes d'aide 3 fois pour chaque image, je voudrais utiliser Javascript pour appeler l'assistant et mettre à jour img srce en conséquence. Je connais bien JS et JQuery, mais je n'ai pratiquement aucune expérience avec Rails.

J'ai ajouté de script dans le fichier html:

<script> 
    var test = <%= helper('https://url.com', :option1 =>1100, :option2 =>1300;) =%> 

</script> 

Mais renvoie l'erreur de la console: SyntaxError: missing ; before statement

EDIT:

Aussi, est-il possible d'ajouter des variables JS dans la paramètres de l'assistant?

<script> 
    var jsVariable1 = 1100 
    var test = <%= helper('https://url.com', :option1 =>JsVariable1, :option2 =>1300;) =%> 

    </script> 

Répondre

0

Avez-vous essayé de changer votre script pour ceci.

`

var test = <%= helper('https://url.com', :option1 =>1100, :option2 =>1300) =%>; 

</script>`. 

Vous devez changer l'emplacement; En ce qui concerne la mise à jour et la création sont concernés. Vous devez utiliser des paramètres forts pour mettre à jour un hachage. Suivant vous devez passer les mêmes arguments que pour le nom, email, numéro dont vous avez besoin de passer un hachage {name: "aditya", email: "[email protected]", number: "1"}.

+0

J'ai ajouté un point-virgule à la fin plus tôt et j'ai eu la même erreur. Je l'ai ajouté à nouveau avec les chiffres entre guillemets et toujours obtenir l'erreur. Ce est ce que j'ai maintenant: - '' 'var test = <% = aide ('https://url.com', option1: "1100", option2: "1300") =%> ; '' ' – auto

+0

Il semble que le problème est le deux-points dans l'URL – auto