小编Mat*_*des的帖子

子域约束并排除某些子域

在我的routes.rb文件中,我想在rails3中使用子域约束功能,但是我想从catch all路径中排除某些域.我不想在特定的子域中使用某个控制器.这样做的最佳做法是什么.

# this subdomain i dont want all of the catch all routes
constraints :subdomain => "signup" do
  resources :users
end

# here I want to catch all but exclude the "signup" subdomain
constraints :subdomain => /.+/ do
  resources :cars
  resources :stations
end
Run Code Online (Sandbox Code Playgroud)

ruby regex ruby-on-rails ruby-on-rails-3

6
推荐指数
1
解决办法
3965
查看次数

通过cron问题加载rubygems的rake任务

我通过执行以下操作设法获得了一个执行rake任务的cron作业:

cd /home/myusername/approotlocation/ && /usr/bin/rake sendnewsletter RAILS_ENV=development
Run Code Online (Sandbox Code Playgroud)

我检查过which rubywhich rake确保路径正确(来自bash)

该工作看起来像是要运行,因为我在完成后从cron守护程序中收到以下电子邮件

Missing these required gems:
      chronic  
      whenever  
      searchlogic  
      adzap-ar_mailer  
      twitter  
      gdata  
      bitly  
      ruby-recaptcha

You're running:
  ruby 1.8.7.22 at /usr/bin/ruby
  rubygems 1.3.5 at /home/myusername/gems, /usr/lib/ruby/gems/1.8

Run `rake gems:install` to install the missing gems.
(in /home/myusername/approotlocation)
Run Code Online (Sandbox Code Playgroud)

我在lib/tasks中的自定义rake文件如下:

task :sendnewsletter => :environment do
 require 'rubygems'
 require 'chronic'  
 require 'whenever'  
 require 'searchlogic'  
 require 'adzap-ar_mailer'  
 require 'twitter'  
 require 'gdata'  
 require 'bitly'  
 require 'ruby-recaptcha'
   @recipients = Subscription.all(:conditions => {:active => true})
    for …
Run Code Online (Sandbox Code Playgroud)

cron rake ruby-on-rails scheduled-tasks delayed-job

4
推荐指数
1
解决办法
2366
查看次数