的控制台中调用控制器

的控制台中调用控制器

本文介绍了如何在 Ruby on Rails 的控制台中调用控制器/视图辅助方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我加载 script/console 时,有时我想使用控制器或视图辅助方法的输出.

有没有办法:

  • 模拟请求?
  • 根据所述请求从控制器实例调用方法?
  • 通过所述控制器实例或其他方式测试辅助方法?

解决方案

要调用助手,请使用 helper 对象:

$ ./script/console>>helper.number_to_currency('123.45')=>123,45 雷亚尔"

如果您想使用默认情况下未包含的帮助程序(例如,因为您从 ApplicationController 中删除了 helper :all),只需包含该帮助程序即可.

>>包括 BogusHelper>>帮手.bogus=>虚假输出"

至于处理控制器,我引用 尼克的回答:

>app.get '/posts/1'>响应 = app.response# 你现在有了一个很像集成测试的 Rails 响应对象>response.body # 获取 HTML>response.cookies # cookie 的哈希值#等等等等

When I load script/console, sometimes I want to play with the output of a controller or a view helper method.

Are there ways to:

  • simulate a request?
  • call methods from a controller instance on said request?
  • test helper methods, either via said controller instance or another way?

解决方案

To call helpers, use the helper object:

$ ./script/console
>> helper.number_to_currency('123.45')
=> "R$ 123,45"

If you want to use a helper that's not included by default (say, because you removed helper :all from ApplicationController), just include the helper.

>> include BogusHelper
>> helper.bogus
=> "bogus output"

As for dealing with controllers, I quote Nick's answer:

这篇关于如何在 Ruby on Rails 的控制台中调用控制器/视图辅助方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 05:48