在新创建的Rails项目(由...生成rails someName)上,可以运行一些"默认"rake任务,例如:
rake testrake db:migrate问题是,这些任务在哪里被描述?默认情况下Rakefile没有所有这些任务.
此外,我检查了一些使用的项目,rspec我可以运行rake spec以运行所有测试.spec目标在哪里定义?
我已经开始学习Ruby了,刚刚在NetBeans IDE中尝试了我的第一个hello world程序.我有一个疑问,我可以看到新项目向导创建了一组包结构.它里面有一个"Rakefile".这意味着什么,它的用途是什么?
我正在尝试获取.rb文件,以便在运行该文件时,在具有指定内容的特定目录中生成另一个.rb文件.我不知道最好的方法是使用Ruby文件还是Rake文件.你输入会很棒.
我有一个C++项目,我使用rake而不是make构建.要在Eclipse中进行设置,我禁用了CDT和Scanner构建器,并创建了一个指向rake可执行文件的rake构建器.这会导致项目正确构建Ctrl- B.但是,C++错误解析器似乎没有在输出上踢.我需要做什么才能获得错误解析器处理的g ++输出?
目前我正在尝试拆分我的rake文件以更好地组织它们.为此,我在rake我的assets目录中添加了一个文件夹,为每组任务保存一个rake文件.
由于我来自PHP,我只有非常基本的Ruby/Rake知识,并且无法在加载文件后运行我的命名空间默认操作.
Rake :: Task ...内部的通配out -string在app:initCL处抛出一个错误:
Run Code Online (Sandbox Code Playgroud)rake aborted! uninitialized constant TASK
这是命名空间/类(如果这是正确的单词).
task :default => [ 'app:init' ]
namespace :app do
rake_dir = "#{Dir.pwd}/assets/rake/"
rake_files = FileList.new( "#{rake_dir}*" )
desc "Loads rake modules (Default action)"
task :init do
puts "\t Importing rake files for processing"
puts "\t loading..."
rake_files.each() { |rake|
puts "\t #{rake}"
require rake
# @link rubular.com
name = rake.split( rake_dir ).last.gsub( /.rb\z/, '' )
puts "\t #{name}" …Run Code Online (Sandbox Code Playgroud) 我的一部分seeds.rb将大量数据加载到数据库中.我希望能够有选择地加载这些数据.例如
$ rake db:seed
Run Code Online (Sandbox Code Playgroud)
要么
$rake db:seed[0]
Run Code Online (Sandbox Code Playgroud)
只会加载必要的数据来运行网站
$ rake db:seed[1]
Run Code Online (Sandbox Code Playgroud)
我也会将我的大数据文件加载到数据库中.这可能吗?我怎样才能做到这一点?如果没有,谁能想到办法做我想做的事情?
我有以下Rakefile:
task :test_commas, :arg1 do |t, args|
puts args[:arg1]
end
Run Code Online (Sandbox Code Playgroud)
并希望使用包含逗号的单个字符串参数来调用它.这是我得到的:
%rake 'test_commas[foo, bar]'
foo
%rake 'test_commas["foo, bar"]'
"foo
%rake "test_commas['foo, bar']"
'foo
%rake "test_commas['foo,bar']"
'foo
%rake "test_commas[foo\,bar]"
foo\
Run Code Online (Sandbox Code Playgroud)
我有一个Rakefile,它具有部署或构建应用程序的任务.此Rakefile用于生产和开发.
我想让build任务知道环境是什么.在运行它时,如果不将参数传递给任务,是否可以完成此操作?它可以用环境变量完成吗?
在开发中,我需要任务看起来像这样:
task :build => :clean do
compass compile -e development
jekyll
end
Run Code Online (Sandbox Code Playgroud)
在生产中,像这样:
task :build => :clean do
compass compile -e production
jekyll
end
Run Code Online (Sandbox Code Playgroud) 我有一个带有默认配置YAML文件gem的some_config.yml.我想创建一个rake任务来将该文件复制到我的rails应用程序的config /目录中.我怎样才能做到这一点?
根据这篇文章,我们可以通过将这些行添加到我们的rakefile来测试我们的gem代码:
task :console do
require 'irb'
require 'irb/completion'
require 'my_gem' # You know what to do.
ARGV.clear
IRB.start
end
Run Code Online (Sandbox Code Playgroud)
它工作得非常好,除了每当对gem进行更改时,我都需要exit重新运行rake console以更新代码.作为创建/调试工具真的不方便......
有没有办法编写一个自定义方法,可以作为reload!Rails 的真棒方法?
bash脚本不能正常工作,因为第一个命令在Ruby控制台中,我宁愿拥有100%的ruby解决方案.
谢谢!