rails respond_to format.js API
Je suis expérimenté en JAVA et C++, développeur et je suis en train d'essayer de comprendre comment les rails œuvres.
J'ai ce code ci-dessous:
respond_to do |format|
if @line_item.save
format.html { redirect_to store_url }
format.js { render :json => @line_item, :mime_type => Mime::Type.lookup('application/json'),
:callback => 'javascriptFunction' }
et j'ai été la recherche de l'api qui définit ce que je peux la passer à l'intérieur de la format.js {}
mais je ne pouvais pas trouver..
tout d'abord: quel genre de déclaration est format.js
, est qu'une variable?
et le plus important: quels sont les attributs que puis-je passer en format.js {} ? pouvez-vous passer le lien direct? J'ai cherché sur le http://api.rubyonrails.org/
Vous devez vous connecter pour publier un commentaire.
js
ici spécifie un mime-type de la méthode de contrôleur renverrait comme une réponse;Par défaut Rails mime-types.
Si vous essayez aussi avec
format.yaml
:qui signifie que votre contrôleur sera de retour
yml
oujs
selon ce que le client-côté de la demande;{}
en termes de ruby est un bloc;Si vous ne spécifiez aucun rails essayez d'afficher un fichier par défaut à partir de l'app/views/[contolleur nom]/[contrôleur nom de la méthode].[html/js/...]
va chercher
/app/views/some/hello.js.erb
; //au moins dans les Rails v. 2.3.Si vous ne spécifiez bloc:
format.js { :render ...
devrait êtreformat.js { render ...
. J'aimerais le modifier, mais j'ai du changer plus de 6 caractères pour enregistrer les modifications.what kind of statement is format.js, is that a variable?
respond_to do |format|
, qui est titulaire d'un objet. L'appel de.js
sur cet objet définit un comportement pour le javascript type mime de la réponse. Sorte de DSLformat.js
me lève erreur > unknow format . mais quand j'ai misformat.html
il me permet d'aller sans entrer dans le js.erb fichier . pourquoiJe crois que c'est l'url que vous recherchez:
https://apidock.com/rails/ActionController/MimeResponds/InstanceMethods/respond_to
Cela peut également être utile à certains, voir que vous puissiez vous en rendre js directement dans le format.js la méthode, par exemple si vous n'avez qu'une petite une ligne de js déclaration que vous voulez retourner, et vous ne pas souhaitez différer d'un fichier RJS comme
controller_action_name.js.erb
: