Disons que je l'ai fait:
Script / Générez le contrôleur Accueil P>
et dans le contrôleur d'accueil a fait une méthode. P>
def say puts "You are here" end
4 Réponses :
Tout d'abord, vous devez exécuter l'application Rails
Vous faites cela en accédant à votre annuaire racine d'application Rails à partir de la ligne de commande et que vous entrez P>
ruby script/server
En bref: vous ne faites pas cela. P>
Ce que vous faites est: Si vous vouliez accéder à
Vous appelez une action sur un contrôleur. Pour chaque action, il existe une vue correspondante, par ex. "Say.html.erb" dans la vue Répertoire Vues / Accueil.
Appeler cette action et afficher sa vue correspondante, vous pouvez faire quelque chose comme <% = link_to 'dites-le',: contrôleur => 'home' ,: action => '",:" "FOO" '%> code> dans votre index.html.erb p>
: somaadditionalparamètre code> dans l'action code> code>, vous le feriez avec Params [: someadditionalparamètre] code> et serait dans Ce cas, obtenez 'foo' code>. p>
Je suppose que vous avez un serveur de rails en cours d'exécution?
Theres Deux possibilités, vous pouvez tout d'abord dire une méthode d'assistant dans le contrôleur à l'aide de: p> Alternativement, la meilleure solution serait la méthode de votre mot de voix sur HOME_HELPER (?). Fichier d'assistance RB. P> Vous pouvez appeler ceci en utilisant simplement Dans votre fichier d'affichage. p> Notez qu'un Application_Helper.rb P> pue code> bien placez tout ce qui est dans votre chaîne à stdout, pas de sortie de votre point de vue, si tout ce que vous voulez faire est d'écrire un peu de texte , vous seriez mieux avec simplement émettre une chaîne et utiliser le mécanisme de sortie ERB à votre vue, par exemple P> logger.error "hello"
Pour une raison quelconque, je ne pouvais pas le faire fonctionner lors de la mise dans l'application_helper.rb et l'appelant avec <% = dire -%>. Je l'ai bien fait de l'avoir au travail lorsque j'ajouterai "Helper_Method: dites" au sommet du contrôleur et l'appelant avec <% = dire%> avec le signe égal. Merci de me diriger en bonne direction.
Eh bien, la vue n'appelle habituellement le contrôleur - il va dans l'autre sens, de ce que je sais. La demande arrive, Rails analyse l'URL en fonction de votre config / routes routes.rb, et il transmet la demande à l'action appropriée dans le contrôleur approprié. Par défaut, Rails fournit un itinéraire pour / nom_contrôleur / nom_action, de sorte que vous pouvez utiliser pour déconner simples autour de ce que Rails fait pour vous. P>
Après que le contrôleur a été exécuté, Rails rend automatiquement la vue associée, par convention a le même nom que son action. La vue automatiquement-utilisé pour votre action « dire » dans le contrôleur « maison » serait trouvée dans votre structure de répertoires app / views / home / say.html.erb. Vous pouvez modifier ce point de vue automatique rendu en appelant Et enfin, comme Konstantinos dit, vous devez démarrer le serveur avant de pouvoir naviguer sur le site dans un navigateur Web. Ce sera à render code> dans votre action de contrôleur, par exemple render: template =>. Index code> p>
http://127.0.0.1:3000/ code> par défaut; pour atteindre l'action par exemple du contrôleur de la maison, vous iriez à http://127.0.0.1:3000/home/say code>. p>
Dupliquer possible de Pouvons-nous appeler la méthode d'un contrôleur à partir d'une vue (comme nous appelons Idéalement)?