草庐IT

CONTROLLER

全部标签

ruby-on-rails - 测试包含 ActionController::Live 的 Controller

我有一个包含RailsActionController::Live模块的Controller。我正在显示一个日志文件的内容,它正在使用FileTailgem读取,并使用ActionController::Live中的SSE像这样:classLogsControllereRails.logger.info"ErrorMessage::#{e.message}"ensuresse.closeendend我想使用Rspec测试live操作。这是我目前拥有的:before{get:live}it{expect(response.headers['Content-Type']).toeq("te

ruby-on-rails - RSpec 故事和规范 : When to use what?

所以我想开始使用RSpec故事,但我不确定编写Controller、模型和View规范的位置。例如,您有“登录”故事和“用户提供错误的密码”场景,难道您最终测试的不是与Controller/模型规范相同的东西(response.shouldrender...,user.shouldbe_nil等)所以我的问题是:对于那些习惯于使用RoR进行bdd(或故事dd)的人,您是否仍然编写模型/Controller规范?如果是这样,您遵循的工作流程如何(“第一个故事,然后缩小到特定规范”)? 最佳答案 如果您现在开始使用故事(而不是拥有大量遗

ruby-on-rails - 你如何阅读现有的 Rails 项目?

当您开始处理现有的Rails项目时,您采取了哪些步骤来理解代码?你从哪里开始?在深入了解Controller、模型、助手和View之前,您使用什么来获得高级View?您是否有任何特定的技术、技巧或工具可以帮助加快该过程?请不要回复“学习Rails和Ruby”(就像问这个问题的lastguy的回复之一——他的问题也没有得到太多回复,所以我想我会再问一次并提示多一点)。我对自己的代码很满意。它正在对其他人进行分类,这让我很头疼,需要很长时间才能理解。 最佳答案 看看模型。如果应用程序编写得很好,这应该为您提供其域模型的图片,这是有趣的逻

ruby-on-rails - 为什么在 Controller 被子类化时 Rails before_filter 被调用两次?

我在使用Rails2.3.5,我遇到了这个问题:classBaseController[:index]endclassChildController[:index,:show,:other,:actions]end问题是在ChildController上,过滤器之前的:foo被调用了两次。我已经尝试了很多解决这个问题的方法。如果我不在子项中包含:index操作,则永远不会为该操作调用它。我找到的解决方案有效,但我认为它非常难看skip_before_filter:foobefore_filter:foo,:only=>[:index,:show,:other,:actions]有没有更

ruby-on-rails - 从 gem 添加 Rails Controller

我正在开发一个专门用于Rails应用程序的ruby​​gem,我想从我的gem添加一个Controller,以便它可以在Rails应用程序上使用(类似于devise对RegistrationsController、SessionsController所做的)。在gem方面:我试过添加以下内容应用程序/Controller/samples_controller.rbclassSamplesController然后在我的rails路线上将其添加为:match'route'=>'samples#index'或resources:samples很明显我在那里出了点问题,但我不知道是什么?我是否

ruby-on-rails - 为 rails 中的特定 Controller 跳过/禁用 force_ssl

除了message#newController之外,我需要在我的应用程序中的所有路由上强制使用SSL。在config/environments/production.rb中,我有:config.force_ssl=true现在所有路由都重定向到https,现在我想为message#newController禁用它。有谁知道如何为Rails4+应用程序中的特定Controller禁用强制SSL? 最佳答案 根据documentation以下应该有效(但仅适用于rails>5版本):config.ssl_options={redirec

ruby-on-rails - 在 Ruby 中返回 true 或错误消息

我想知道编写这样的函数是好的还是坏的形式。deftest(x)ifx==1returntrueelsereturn"Error:xisnotequaltoone."endend然后为了使用它,我们做这样的事情:result=test(1)ifresult!=trueputsresultendresult=test(2)ifresult!=trueputsresultend它只显示第二次调用测试的错误消息。我正在考虑这样做,因为在一个Rails项目中,我在我的Controller代码中工作,我调用模型的实例方法,如果出现问题,我希望模型将错误消息返回给Controller和Control

ruby-on-rails - 我的非模型/非 Controller 代码应该放在哪里?

我编写了一个遵循常规目录结构的Rails应用程序(模型代码在模型中,Controller代码在Controller中)。但我现在正在开发一项新功能,为此我编写了一些(我称之为)“服务”代码。新功能是将一些数据导入系统,目前是两个类来进行导入,但可以扩展到更多。我不认为新代码属于模型,因为它不对任何对象建模(它也不直接与任何单个对象相关。我当然不认为它属于Controller,因为它不是表示逻辑。因此,我创建了一个“app/services”目录并将其放在那里。我还创建了一个“test/services”目录,用于放置我的测试。我认为一切都很好,但是当我运行“rake:test”或“au

ruby-on-rails - 匿名 Controller 的 Rspec stubing View

我正在尝试在应用程序Controller上测试一种方法,该方法将用作前置过滤器。为此,我在测试中设置了一个匿名Controller,并应用了before过滤器以确保其正常运行。目前的测试是这样的:describeApplicationControllerdocontrollerdobefore_filter:authenticateddefindexendenddescribe"userauthenticated"dolet(:session_id){"session_id"}let(:user){OpenStruct.new(:email=>"pythonandchips@gmail

ruby-on-rails - Ruby/Rails - 如何创建类并从 Controller 访问它

我一直在尝试使用一些不同的gem在rails3中显示googlemaps,但遇到了几个问题。幸运的是我找到了这个https://github.com/YouthTree/bhm-google-maps这是一个helper,它似乎对其他人有用。我已经正确安装了它,但在自述文件中https://github.com/YouthTree/bhm-google-maps/blob/master/README.md它提到为要在View中显示的对象创建一个类。他们举的例子是classLocationattr_accessor:address,:lat,:lngdefinitialize(addre