草庐IT

javascript - 自定义 grunt 任务命名约定

全部标签

ruby-on-rails - 从 rake 任务调用 Controller

我想从rake任务中调用Controller操作。我的问题是准备http请求的最佳方法是什么?感谢所有提示。编辑:有人有其他提示吗?我试过这个但没有用:controller_obj=Controller.newcontroller.your_method我遇到了这个异常:rakeaborted!uninitializedconstantController编辑2:我试过:sess=ActionController::Integration::Session.newsess.post('/route','codes=3')但是我得到了(我在rake文件中需要'action_control

ruby - 如何为名称以问号结尾的属性定义 setter?

我正在尝试添加一个名为“已启用?”的属性吗?到同时具有getter和setter的模型。但是,当我执行以下操作时:defenabled?=value#..logicgoeshere..end我收到语法错误,意外的“?”,需要“\n”或“;”我应该怎么做? 最佳答案 是的,ruby语法只允许?在方法名称中,如果它是最后一个字符,所以foo?=是无效的。您可以做的一件事是定义enabled?、enable和disable(或enable!和disable!如果你想强调它们是变异方法)。如果这不符合您的需求,您可以只将方法命名为enabl

ruby - 带有字符串参数的 Sinatra 应用程序的 Heroku rake 任务失败

我刚刚将Sinatra应用程序部署到heroku,该应用程序包含两个rake任务:task:create_db,[:db_id,:db_name]task:destroy_db,[:db_id,:token]当我运行时herokurunrake-T在控制台中,Heroku打印以下响应:(in/app)rakecreate_db[db_id,db_name]#Creationcountdatabasetaskrakedestroy_db[db_id,token]#Destroydatabasetask但是当我运行时:herokurunrakecreate_db['test','testd

ruby - 如何使用 Whenever gem 强制 rake 任务在开发环境下运行

我正在使用Whenevergem运行rake任务。当我运行rake任务时,它在开发环境下运行,但当它在预定时间运行时,它指的是生产环境。如何强制在开发环境下运行预定的rake任务。据我所知,我将不得不使用RAILS_ENV变量,但无法弄清楚将它放在哪里。我认为,这与此处的Whenevergem无关。 最佳答案 在任何bash类型的shell中,您通常可以在运行时覆盖环境:RAILS_ENV=developmentraketask:name...您也可以编写一个小脚本来为您执行此操作:#!/bin/shexportRAILS_ENV=

ruby-on-rails - 如何在我的模型中针对项目数组使用命名范围?

我知道我可以基于数组查询最近的书籍范围:recent_books,lambda{|since_dt|{:conditions=>{:created_at>=since_dt}}}但是当我有一组项目时,我该如何做一个类似的查询,例如如果我想知道是否有任何记录与[date1、date2、date3等]数组中的日期匹配我认为必须有一个collect/inject/select/mapy方法可以做到这一点,但我不确定是哪个方法。 最佳答案 如果您传递一个数组作为值,ActiveRecord足够智能,可以比较是否包含在数组中。例如,Book.

ruby - `-' :String 的未定义方法 "100"

这段Ruby代码:income="100"bills="52"putsincome-bills抛出一个错误:./to_f.rb:6:undefinedmethod`-'for"100":String(NoMethodError)在对字符串执行数学运算时,Ruby不会自动将字符串转换为数字吗? 最佳答案 Ruby是一个dynamically-typed,strictly-typed(或“强类型”)语言。Lua是另一种这样的语言。前者意味着变量可以包含任何类别的值。后者——你遇到的情况——意味着类型强制不会自动发生。将它们与动态类型和松

ruby-on-rails - 为什么我得到 PostsController 的未定义方法 `action'(表不存在)?

我对编码还很陌生,所以我决定开始阅读4.0.0版的RubyonRails指南,但遇到了一个又一个问题。我目前运行的是4.0.0版,我已逐步按照指南进行操作。一旦我达到5.2Firstform,我开始出现错误,并使用其他人的帖子来解决我的问题,但这个错误似乎并没有发生在其他人身上,所以这里是:NoMethodErrorinPostsController#indexundefinedmethod`action'forPostsController(Tabledoesn'texist):Class这是我的代码:classPostsController这是我的看法:Title:Text:我的表

ruby-on-rails - Rails 路由 - 资源的自定义路由

我目前正在构建一个Rails应用程序,我想坚持使用REST和资源等所有这些花哨的东西,但我想稍微自定义一下我的路线。我希望我的GET路由更详细一些-我正在创建的应用程序是一个简单的博客,所以我更喜欢GET/posts/而不是GET/posts/11-我的第一篇文章。任何想法如何做到这一点?未在网上找到任何内容。 最佳答案 路线:map.resources:posts型号:classPost应该可以解决问题。顺便说一句:http://railscasts.com/episodes/63-model-name-in-url

ruby - 为什么我们定义 `#initialize` 而不是 `::new`

在Ruby中,创建一个新类时,我们会这样定义构造方法:classThingdefinitializedo_stuffendend但是,当实际创建对象的实例时,我们发现自己不是在实例上调用initialize,而是在类上调用new。既然如此,我们为什么不定义::new?classThingdefself.newdo_stuffendend::new在initalize没有定义的场景后面有什么东西吗?这两者完全不同吗?定义::new会起作用吗?或者只是definitialize比defself.new更短(不是)?我认为这种差异一定有充分的理由。 最佳答案

ruby-on-rails - Rails 路由 : Nested, 成员、集合、命名空间、范围和可定制

我想了解更多关于Rails路线的信息。成员和收藏#Exampleresourceroutewithoptions:resources:productsdomemberdoget'short'post'toggle'endcollectiondoget'sold'endend命名空间和作用域#Exampleresourceroutewithinanamespace:namespace:admindoresources:productsendscope:admindoresources:productsend约束,Redirect_to#Exampleresourceroutewithop