小编Mun*_*sim的帖子

Capistrano和每当阶段变量

在我们的登台服务器上,我们在生产环境中运行Rails应用程序,以便尽可能与我们的生产服务器相似.我们正在使用何时创建我们的crontab.但是,我们需要为我们的站点地图生成运行稍微不同的rake任务,因此它不会ping Google和Bing.

在deploy.rb中,我们有: set :stages, %w(production staging),但是在deploy/staging.rb和deploy/production.rb中我们都:rails_env, "production"设置了,所以我无法使用Rails.env.

schedule.rb,我想做的事情如下:

every :day, at: '1am' do
  if @stage == 'production'
    rake 'sitemap:refresh'
  else
    rake 'sitemap:refresh:no_ping'
  end
end
Run Code Online (Sandbox Code Playgroud)

如何使该变量可用?

更新

我能够通过推杆解决它

set :whenever_variables, defer { "stage=#{stage}" }

进入我的deploy/staging.rb.然后我可以访问@stageschedule.rb

capistrano ruby-on-rails whenever whenever-capistrano

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

任何宝石在通过capistrano部署时出错时的Rails

我正在尝试通过rails项目创建我的第一个cron作业.运行时cap deploy,我收到此错误:

...
* 2013-01-01 22:29:00 executing `whenever:update_crontab'
  * executing "cd /var/www/vhosts/famnfo.com/releases/20130102042834 && bundle exec whenever --update-crontab FamNFo --set environment=production --roles db"
    servers: ["famnfo.com"]
    [famnfo.com] executing command
 ** [out :: famnfo.com] /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/core_ext/numeric/time.rb:49:in `days': wrong number of arguments (1 for 0) (ArgumentError)
 ** [out :: famnfo.com] from config/schedule.rb:23:in `initialize'
 ** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/whenever-0.8.1/lib/whenever/job_list.rb:25:in `instance_eval'
 ** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/whenever-0.8.1/lib/whenever/job_list.rb:25:in `initialize'
 ** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/whenever-0.8.1/lib/whenever.rb:15:in `new'
 ** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/whenever-0.8.1/lib/whenever.rb:15:in `cron'
 ** [out …
Run Code Online (Sandbox Code Playgroud)

cron ruby-on-rails whenever ruby-on-rails-3 whenever-capistrano

3
推荐指数
1
解决办法
846
查看次数

与kaminari和jquery无尽的分页

我正在尝试使用kaminari和jquery创建一个不错的无尽分页,我已经看过关于这种主题的教程,但它是用will_paginate和jquery完成的.这次我希望能够用kaminari宝石做到这一点.这里有任何帮助.谢谢

jquery pagination ruby-on-rails kaminari

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

RAB嵌套在HABTM上的表单:如何防止重复输入?

我有一个简单的应用程序,在数据库和"多对多"关系中有3个表.

# Model Employee
class Employee < ActiveRecord::Base
   has_and_belongs_to_many :phonenumbers
   accepts_nested_attributes_for :phonenumbers, :allow_destroy => true
   attr_accessible :last_name, :first_name, :middle_name, :phonenumbers_attributes
end

# Model Phonenumber
class Phonenumber < ActiveRecord::Base
  has_and_belongs_to_many :employees
  attr_accessible :number
  accepts_nested_attributes_for :employees
end
Run Code Online (Sandbox Code Playgroud)

我有'employees_phonenumbers'连接表与'employee_id'和'phonenumber_id'列.

# View
<%= form_for @employee, :url => { :action => :create } do |f| %>

<%= f.label "Last name"   %>
<%= f.text_field :last_name   %>

<%= f.label "First name"   %>
<%= f.text_field :first_name  %>

<%= f.label "Middle name"   %>
<%= f.text_field :middle_name %>

<%= f.fields_for …
Run Code Online (Sandbox Code Playgroud)

forms validation activerecord ruby-on-rails-3

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

Ruby on Rails:Prawn:定位表不起作用,得到未定义的方法'position ='

我试图在右侧放置一张桌子但是得到了

undefined method 'position=' 
Run Code Online (Sandbox Code Playgroud)

这是我的示例代码:

table data , position: :right do
  rows(0).font_style = :bold
  cells.style :align => :right
  cells.borders = []
end
Run Code Online (Sandbox Code Playgroud)

但按照上面的代码文件 http://prawn.majesticseacreature.com/manual.pdf应运行代码.问题出在哪儿?

ruby-on-rails prawn ruby-on-rails-3 ruby-on-rails-3.2

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

Rails :: Capistrano :: sh:无论何时:找不到

我正在尝试部署一个随时使用的项目.

但得到:

sh: whenever: not found
rolling back
executing "rm -rf /var/www/rails_apps/portal/releases/20130627122943; true"

failed: "sh -c 'cd /var/www/rails_apps/portal/releases/20130627122943 && whenever --update-crontab iconnect_portal --set environment=production --roles db'" on ...
Run Code Online (Sandbox Code Playgroud)

的Gemfile

gem 'whenever', :require => false
Run Code Online (Sandbox Code Playgroud)

deploy.rb

require "bundler/capistrano"
require 'capistrano/ext/multistage'
require "whenever/capistrano"
require "delayed/recipes"
........
Run Code Online (Sandbox Code Playgroud)

问题出在哪儿?

capistrano ruby-on-rails whenever whenever-capistrano

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

mongoid在一个哈希数组内的数组中搜索

Object embeds_many searched_items

这是文件:

{"_id": { "$oid" : "5320028b6d756e1981460000" },

"searched_items": [
{
  "_id": { "$oid" : "5320028b6d756e1981470000" },
   "hotel_id": 127,
  "room_info": [
    {
       "price": 10,
      "amenity_ids": [
        1,
        2
      ]
    },
    {
      "price": 160,
      "amenity_ids": null
    }
  ]
  },
  {
  "_id": { "$oid" : "5320028b6d756e1981480000" },
  "hotel_id": 161,
  "room_info": [
    {
      "price": 400,
      "amenity_ids": [4,5]
    }
   ]
  }
 ] 
}
Run Code Online (Sandbox Code Playgroud)

我想找到具有room_info.amenity_idsIN [2,3] 的"searching_items" .

我试过了

object.searched_items.where('room_info.amenity_ids' => [2, 3])

object.searched_items.where('room_info.amenity_ids' =>{'$in' => [2,3]}

没有运气

mongodb mongoid

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

重新加载表单时,嵌套输入消失

在rails应用程序中,我有一个创建产品页面,其中包含一个嵌套的照片表单.有验证确保总有照片存在.但是,当我尝试在没有照片的情况下提交表单时,产品表单会在没有照片输入字段的情况下重新呈现.

新产品页面haml

= form_for @product,:url => products_path, :html => { :multipart => true } do |f|
  - if @product.errors.any?
    .error_messages
      %h2 Form is invalid
      %ul
        - for message in @product.errors.full_messages
          %li
            = message
  - if @photo.errors.any?
    .error_messages
      %h2 Image is invalid
      %ul
        - for message in @photo.errors.full_messages
          %li
            = message
  %p
    = f.label :description
    = f.text_field :description
  %p
    = f.fields_for :photos do |fp|
      =fp.file_field :image
      %br
  %p.button
    = f.submit
Run Code Online (Sandbox Code Playgroud)

产品控制器

class ProductsController < ApplicationController

  def new …
Run Code Online (Sandbox Code Playgroud)

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

0
推荐指数
1
解决办法
838
查看次数