No olvides que en la informática un problema casi siempere puede tener más de una soluciones, de igual modo nosotros enseñamos lo más óptimo y mejor.
Solución:
Para llamar a los ayudantes, utilice el helper
objeto:
$ ./script/console
>> helper.number_to_currency('123.45')
=> "R$ 123,45"
Si desea utilizar un asistente que no está incluido de forma predeterminada (por ejemplo, porque eliminó helper :all
desde ApplicationController
), solo incluye el ayudante.
>> include BogusHelper
>> helper.bogus
=> "bogus output"
En cuanto a tratar con controladorescito la respuesta de Nick:
> app.get '/posts/1' > response = app.response # you now have a rails response object much like the integration tests > response.body # get you the HTML > response.cookies # hash of the cookies # etc, etc
Una manera fácil de llamar a una acción de controlador desde un script/consola y ver/manipular el objeto de respuesta es:
> app.get '/posts/1'
> response = app.response
# You now have a Ruby on Rails response object much like the integration tests
> response.body # Get you the HTML
> response.cookies # Hash of the cookies
# etc., etc.
El objeto de la aplicación es una instancia de ActionController::Integration::Session
Esto funciona para mí usando Ruby on Rails 2.1 y 2.3, y no probé versiones anteriores.
Si necesita probar desde la consola (probado en Ruby on Rails 3.1 y 4.1):
Acciones del controlador de llamadas:
app.get '/'
app.response
app.response.headers # => "Content-Type"=>"text/html", ...
app.response.body # => "nnnn..."
Métodos del controlador de aplicaciones:
foo = ActionController::Base::ApplicationController.new
foo.public_methods(true||false).sort
foo.some_method
Ayudantes de ruta:
app.myresource_path # => "/myresource"
app.myresource_url # => "http://www.example.com/myresource"
Ver ayudantes:
foo = ActionView::Base.new
foo.javascript_include_tag 'myscript' #=> ""
helper.link_to "foo", "bar" #=> "foo"
ActionController::Base.helpers.image_tag('logo.png') #=> "
"
Prestar:
views = Rails::Application::Configuration.new(Rails.root).paths["app/views"]
views_helper = ActionView::Base.new views
views_helper.render 'myview/mytemplate'
views_helper.render file: 'myview/_mypartial', locals: my_var: "display:block;"
views_helper.assets_prefix #=> '/assets'
Métodos de soporte activo:
require 'active_support/all'
1.week.ago
=> 2013-08-31 10:07:26 -0300
a = 'a'=>123
a.symbolize_keys
=> :a=>123
Módulos de biblioteca:
> require 'my_utils'
=> true
> include MyUtils
=> Object
> MyUtils.say "hi"
evaluate: hi
=> true
Si estás de acuerdo, tienes la habilidad dejar una reseña acerca de qué le añadirías a este escrito.