Ruby on Rails: Comment faire pour imprimer une chaîne et d'où vient-il afficher?

Je sais que c'est une question banale. Mais je recherche tout sur google mais impossible de trouver une réponse simple à cette question.

Fondamentalement, j'ai une ligne qui dit <%= link_to 'Run it', :method => 'doIt' %> dans la vue, puis dans le contrôleur correspondant, j'ai l' doIt méthode comme suit:

def doIt
  puts "Just do it" 
end

Je veux juste vérifier que si je clique sur Run, elle sera sortie de la chaîne "Just do it". J'ai couru ce sur localhost et il n'y a pas d'erreurs, mais je ne trouve pas la sortie de "Just do it" n'importe où. Il n'est pas affiché dans la console rails ou des rails de log du serveur. Je veux juste savoir d'où ne met la chaîne en sortie , où le trouver ?


Ronde 2: c'est Donc ce que j'ai essayé ....

A ajouté cette ligne dans l'index.html.erb (qui est à la racine)

<%= link_to 'Run it', :method => 'do_it' %>

et dans l'url, c'est juste fondamentalement http://localhost:3000/ (depuis que je parcours le contrôleur n ° d'index en tant que root)

L'écran est juste un a souligné "Exécuter" que des liens vers les 'do_it' méthode dans le contrôleur.

Dans le contrôleur, j'ai inclure cette méthode

def do_it
  logger.debug "Just do it"
end

quand je clique sur "Exécuter", le changement d'url pour http://localhost:3000/gollum_starters?method=do_it et dans le développement.journal, la suite est écrit:

Started GET "/gollum_starters?method=do_it" for 127.0.0.1 at 2011-08-25 15:27:49 -0700
  Processing by GollumStartersController#index as HTML
  Parameters: {"method"=>"do_it"}
  [1m[35mGollumStarter Load (0.3ms)[0m  SELECT "gollum_starters".* FROM "gollum_starters"
Rendered gollum_starters/index.html.erb within layouts/application (3.6ms)
Completed 200 OK in 16ms (Views: 7.7ms | ActiveRecord: 0.3ms)

En outre, j'ai essayé tout à l'enregistreur de données.erreur/info/fatal/etc ... et les Rails.enregistreur.erreur/info/fatal/etc, tous ne s'imprime pas sur la ligne "Just do it" dans le log de développement

@Paul: je n'ai pas toucher à l'environnement de dossier ou de fichier, je suppose par défaut lorsqu'une nouvelle application rails est créé, il est en cours de développement ?

@Maz: Oui, vous avez raison, je suis juste en train de tester si le do_it méthode est appelé. Pour ce faire, je veux juste afficher quelque chose dans le contrôleur. Ne peut pas penser de toute manière plus simple qu'il suffit d'imprimer une chaîne de caractères, mais ce problème me rend malheureux. Je suis juste en utilisant textmate, aucune IDE.


Ronde 3:

@Paul, merci beaucoup, mais j'ai rencontré d'erreur

Mes itinéraires des fichiers est maintenant:

resources :gollum_starters

root :to => "gollum_starters#index"

match 'gollum_starters/do_it' => 'gollum_starters#do_it', :as => 'do_it'

Mon index.html.erb est maintenant:

<%= link_to "Do it", do_it_path %>

Mon gollum_starters_controller.rb

def do_it
  logger.debug 'Just do it'
end

J'obtiens cette erreur:

Ne pouvais pas trouver GollumStarter avec ID=do_it

l'erreur est ici, 2e ligne:

def show
    @gollum_starter = GollumStarter.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @gollum_starter }
    end
  end

Je me demande pourquoi il route de montrer ? Lorsque je clique sur do_it, il va en fait à localhost:3000/gollum_starters/do_it ce qui est correct, mais apparemment l'erreur de points à la méthode show ?


Ronde 4:

@Paul, je l'ai déplacé ressources :gollum_starters bas:

root :to => "gollum_starters#index"

match 'gollum_starters/do_it' => 'gollum_starters#do_it', :as => 'do_it'

resources :gollum_starters

mais eu cette erreur (omg j'ai envie de me tuer),

Modèle est manquant

Manquant modèle gollum_starters/do_it avec {:handlers=>[:erb, :rjs,
:builder :rhtml, :rxml], :formats=> [html], :locale=>[:fr, :fr]} dans
chemins de vue "~/project_name/app/views"

:/

---------- Réponse à la Ronde 4 ------------

Fondamentalement que l'erreur explique, il n'y a pas de modèle(j'.e une page web) pour montrer d'où erreur renvoyé. La solution est d'ajouter un redirect_to , dans ce cas, je rediriger vers root_url.

def do_it
  logger.debug 'Just do it'
  redirect_to(root_url)
end

Tout fonctionne maintenant, "Just do it" enfin sorties de développement.et le journal d'rails console du serveur.

Merci Maz et Paul et André pour m'aider. Apprendre beaucoup de choses.

John, voir l'explication ajouté ci-dessous. Il vous manque l'idée de base de RESTE dans les Rails, et vous serez beaucoup plus heureux avec les rails si vous le comprenez. Bonne chance 🙂
Yup le regarder, merci pour l'explication détaillée

OriginalL'auteur John Lee | 2011-08-25