小编bte*_*les的帖子

如何在VIM中导航Ruby方法?

我正在学习VIM for Rails开发,并希望轻松导航文件中的方法.到目前为止,我看到几个选项:

  • 通过使用找到'def'

    /def<space>
    
    Run Code Online (Sandbox Code Playgroud)
  • 使用q和记录创建与键对应的宏
  • 使用VIM标志?(甚至不确定他们做了什么,他们听起来很有希望

有没有更好的想法?

ruby vim

43
推荐指数
4
解决办法
2万
查看次数

是否可以从jqGrid标题中删除展开/折叠按钮?

我正在使用http://www.trirand.com/jqgrid/jqgrid.html上提供的jqGrid ,我无法找到一种方法来禁用标题右上角的展开/折叠按钮.任何人都知道有没有选择这样做?

我想删除用红色圈出的东西: alt text http://img263.imageshack.us/img263/2008/33702108.png

javascript jquery jqgrid

34
推荐指数
1
解决办法
2万
查看次数

Rails的ActiveRecord序列化:attr方法给出"缺少类或模块错误"

我试图在ActiveRecord模型中序列化一个简单的属性,而Rails 2.3.4不喜欢它.

class Shopper
  serialize :tags
end

>> a = Shopper.new
=> <#Shopper...>

>>a.tags = ['aoeu','stnh']
=> ['aoeu','snth']

>> a.save
=> TypeError: class or module required
Run Code Online (Sandbox Code Playgroud)

有谁知道我错过了什么?

ruby serialization activerecord ruby-on-rails

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

如何使用rspec测试命名路由?

鉴于我有一条命名路线:

map.some_route '/some_routes/:id', :controller => 'some', :action => 'other'
Run Code Online (Sandbox Code Playgroud)

如何使用路由规范文件'spec/routing/some_routing_spec.rb'来测试该命名路由?

我在"描述SomeRouteController"块之后尝试了这个并且它不起作用,我得到'undefined method'helper":

describe SomeRouteHelper, 'some routes named routes' do
  it 'should recognize some_route' do
    helper.some_route_path(23).should == '/some_routes/23'
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby routing rspec routes ruby-on-rails

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

是否有Ruby数据库迁移gem,它可以帮助您将内容从旧结构移动到新结构?

是否有任何Ruby gems /库可以帮助您从旧的DB结构迁移到新的结构?ActiveRecord迁移在跟踪新的数据库结构方面做得很好,但我想知道是否有什么可以帮助您将整个遗留数据库迁移到新结构:

transfer_from(:source_table => 'person', :destination_table => 'dudes_and_dudets') do

  from :name, :to => :full_name

  from :dob, :to => :age do |dob|    # this would, for example, load the result  
    (Date.today - dob)/60/60/24/365  # of the block into :age
  end

end
Run Code Online (Sandbox Code Playgroud)

(我意识到你可以像使用AR一样轻松地进行这些变换,但我希望魔术库可以有更多的变换.

伯恩斯

ruby database activerecord data-migration ruby-on-rails

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

启动或确保在应用程序/服务器重新启动时运行延迟作业

我们必须使用delayed_job(或其他一些后台作业处理器)在后台运行作业,但我们不允许更改服务器上的启动脚本/启动级别.这意味着如果提供程序重新启动服务器,则不保证守护程序仍然可用(因为守护程序将由每个部署仅运行一次的capistrano配方启动).

目前,我能够想到确保delayed_job守护程序始终运行的最佳方法是向我们的Rails应用程序添加初始化程序,以检查守护程序是否正在运行.如果它没有运行,那么初始化器启动守护进程,否则,它就会离开它.

因此,问题是我们如何检测到Delayed_Job守护程序是从脚本内部运行的?(我们应该能够相当容易地启动一个守护进程,我不知道如何检测一个守护进程是否已经激活).

有人有主意吗?

此致,伯尼

基于下面的答案,这就是我提出的.只需将它放在config/initializers中就可以了:

#config/initializers/delayed_job.rb

DELAYED_JOB_PID_PATH = "#{Rails.root}/tmp/pids/delayed_job.pid"

def start_delayed_job
  Thread.new do 
    `ruby script/delayed_job start`
  end
end

def process_is_dead?
  begin
    pid = File.read(DELAYED_JOB_PID_PATH).strip
    Process.kill(0, pid.to_i)
    false
  rescue
    true
  end
end

if !File.exist?(DELAYED_JOB_PID_PATH) && process_is_dead?
  start_delayed_job
end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails background-process ruby-on-rails-plugins delayed-job

11
推荐指数
2
解决办法
8244
查看次数

在Rails中url_for的反义词是什么?获取路径并生成解释路线的函数?

大脑有点油炸....如何得到:控制器的哈希值:来自relative_path的动作?

这基本上与url_for相反.在下面的例子中,"some_function"是我正在寻找的神秘函数名称......我知道它很简单,只是记不住或者似乎无法在文档中找到它.

像这样:

some_function('/posts/1/edit')
=> {:controller => 'posts', :action => 'edit', :id => '1'}
Run Code Online (Sandbox Code Playgroud)

ruby routing ruby-on-rails url-routing actionpack

8
推荐指数
2
解决办法
1329
查看次数

如何在Rails 3插件中测试路由?

我尝试使用推荐的方式(来自Rails指南)来测试插件中生成的路由,但测试仍然失败.

奇怪的是,如果我在创建路线后重新加载路线(或者我认为),测试失败,但如果我让测试经过一次(例如使用自动测试),那么路线会在后续尝试中被识别.

这是代码:

describe "named route report_with_last_name_smith_path" do
  before :all do
    Reports::Application.routes.draw do
        match "/report_some_report_for_us" => "report#report_some_report_for_us", 
              :as => :report_some_report_for_us
    end
    Rails.application.reload_routes! # If I leave this out, then the test
                                     # passes the second time that autotest/autospec
                                     # go through.
  end
  it "route for every record" do
    {:get => '/report_some_report_for_us'}.should route_to(:controller => 'report', :action => 'report_some_report_for_us')
  end
end
Run Code Online (Sandbox Code Playgroud)

知道如何让它一直通过吗?

ruby rspec ruby-on-rails ruby-on-rails-plugins

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

如何找到Capybara中的第一个复选框?

我想找到使用capybara dsl的复选框的第一个实例.谁知道怎么做?

我想也许是这样,但它不起作用:

find('input:first', :type => 'checkbox')
Run Code Online (Sandbox Code Playgroud)

cucumber capybara

8
推荐指数
2
解决办法
9795
查看次数

如何使用Tim Pope的tiger.vim vim插件?

我已经将cucumber.vim文件加载到ftplugin和其他目录的每个指令,但我不明白ftplugin语法足以弄清楚如何获得全部好处.

据我所知,该插件应该能够在步骤定义和功能文件之间跳转,但我无法弄清楚我的映射有什么问题.看起来好像映射应该是通常的ctag map Ctrl +],但这不起作用.

任何想法如何使这些映射工作?

这是插件的链接:

http://github.com/tpope/vim-cucumber/tree/master

Cheerio!

ruby vim ruby-on-rails cucumber

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