草庐IT

no-use-before-define

全部标签

ruby - 如何将 before_filter 应用于 Rails 3.2.11 中每个 Controller 的每个操作?

我想验证用户是否在对服务器的每个请求中登录。类似于::before_filterverify_logged_in我应该把before_filter放在哪里,以便它适用于所有Controller操作和所有请求? 最佳答案 为确保过滤器适用于所有操作,将其放在application_controller.rb中。 关于ruby-如何将before_filter应用于Rails3.2.11中每个Controller的每个操作?,我们在StackOverflow上找到一个类似的问题:

ruby - Heroku 应用程序无法启动 - `require' : no such file to load -- sinatratestapp (LoadError)

我正在尝试使用bamboo-mri-1.9.2堆栈运行我的Heroku应用程序。当然,它在Ruby1.9.2上本地运行良好。但是在生产环境中,它在执行config.ru的启动过程中崩溃,如下所示:require'sinatratestapp'runSinatra::Application我的.gems文件:sinatra--version'>=1.0'应用程序本身为sinatratestapp.rb:require'rubygems'require'sinatra'get'/'do"HellofromSinatraonHeroku!"end这就是我在项目中得到的所有内容,并尝试在Her

ruby - 最佳实践 : Using system supplied or custom exceptions for error conditions in ruby?

在ruby​​中编写一个相当简单的命令行工具我需要报告有关命令行参数中的错误的有意义的消息,或者与此相关的程序中的其他错误情况。(未找到输入文件,输入格式无效等)现在我只是在检测参数列表中的错误时用合理的描述引发ArgumentError。这是一种好的做法,还是我也冒着用这种方法隐藏编程错误的风险?换句话说,ruby中系统定义的异常是为应用程序使用而设计的,还是我们应该始终创建自己的异常来报告非系统错误?编辑:例如,如果我使用错误数量的参数调用方法,ruby会引发ArgumentError。这是一个编程错误,我想用堆栈跟踪和所有信息来告知它。然而,当我的程序输入不正确时,我可能想给用户

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

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

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 - Vagrant/VirtualBox VM 配置 : rbenv installs successfully but subsequent uses in script fail

我正在使用Vagrant+VirtualBox为我的Rails应用设置虚拟机。我正在清理Vagrantfile中引用的.sh配置脚本,如下所示:config.vm.provision"shell",path:"script/provision-script.sh"配置脚本做了很多事情,但最后它应该安装rbenvRuby版本控制,然后使用rbenv安装Ruby2.2.1。供应脚本的那部分看起来像这样:echo"settinguprbenv"#executetheremainingcommandsasvagrantuser,insteadofrootsudo-H-uvagrantbash-

ruby-on-rails - Ruby on Rails before_filter 与 ruby​​ 的初始化

只是我的一个想法。下面有什么区别before_filterclassApplicationControllerruby初始化classApplicationControllerruby的初始化方法在rails中是否按预期工作?如果是,那么我们是否可以在必须将过滤器应用于Controller中的所有操作的地方使用初始化? 最佳答案 对于每个请求,您确实会得到一个新的ApplicationController实例,但是这里最大的禁忌是您试图覆盖ActionController::Base#initialize的核心行为不调用父行为。Ap

ruby - "__rvm_do_with_env_before"和 "__rvm_after_cd"执行 "cd"时

我最近卸载了RVM(我认为主要是)。当我在终端中“cd”时,我得到:Adams-MacBook-Pro%cd__rvm_do_with_env_before:source:5:nosuchfileordirectory:/Users/adam/.rvm/scripts/initialize__rvm_after_cd:source:5:nosuchfileordirectory:/Users/adam/.rvm/scripts/hook我该如何解决这个问题?我猜是因为我没有完全卸载RVM。rvmimplode之后我还剩下哪些步骤要做谢谢 最佳答案

ruby-on-rails - rails : Only allow admin user to create new users in Rails with Devise (No external modules)

目前,我的Users数据库有一个名为“admin”的列,其值为bool值,默认设置为false。我有一个管理员用户播种到数据库中。如何编写我的应用程序以便是管理员的用户可以创建新用户,而不是的用户不能?(此外,用户应该仅由管理员创建)似乎应该有一种简单的方法可以在不涉及使用某些外部模块的设计中做到这一点。然而,到目前为止,我还没有找到满意的答案。我更有可能标记仅是设计的解决方案。(一个简单的标准MVC/Rails解决方案加分)但是,如果真的有更好的方法来做到这一点而不涉及CanCan,我可能也接受它。注意:我已经搜索了一段时间,发现了其他几个与这个问题非常相似的stackoverflo

ruby-on-rails - 在 RSpec 中使用 Ruby 1.9.2 需要 lib 带来 "no such file to load"

我正在尝试将我的一个Rails项目升级到Ruby1.9.2。一切进展顺利,但一个RSpec测试失败了。在这个测试中,我需要一个Rubylib:#filespec/models/my_lib_spec.rbrequire'spec_helper'require'lib/services/my_lib'describe"MyLib"doit"shoulddosomething"do...库看起来像这样:#filelib/services/my_lib.rbclassMyLibdefself.do_something...在Ruby1.8.7(REE)中测试运行良好:$ruby-vruby1