小编Jus*_*eph的帖子

在Capybara有更好的替代方案吗?

在我的测试中,我有一个步骤,我填写一个字段,然后按回车键.然后,该字段将在下一页返回结果集.

这是我的助手方法:

def search(term)
  fill_in('query-text', :with => term)
  click_button('search-button')
end
Run Code Online (Sandbox Code Playgroud)

在那之后,我有一个简单的说法:

page.should have_content(tutor)
Run Code Online (Sandbox Code Playgroud)

但是,问题在于,即使我的页面加载了结果之后的页面,即使它应该为假,它也会通过该步骤.我在步骤中设置了一个调试器,当我手动检查它时,断言失败,因为我也期望它.我的假设是下一步是在页面重新加载之前检查.我在搜索方法结束时进行了一次睡眠,使其看起来像:

def search(term)
  fill_in('query-text', :with => term)
  click_button('search-button')
  sleep 5
end
Run Code Online (Sandbox Code Playgroud)

但我觉得使用睡眠是解决这个问题的一种黑客方式.我正在使用Capybara 2,因此删除了wait_until的使用.有没有更好的方法来处理这个问题而不是依赖睡眠?

ruby-on-rails cucumber capybara

12
推荐指数
2
解决办法
9050
查看次数

Jquery ajax完成回调没有响应201

我有一个ajax帖子:

$.post("/api/v1/payment_methods/create_credit_card", values)
.done (response) ->
  console.log("GOOD JOB")
.fail (response) ->
  console.log("Adas")
Run Code Online (Sandbox Code Playgroud)

响应是201,然而,完成似乎没有捕获它,而是它将失败.我认为201会被认为是成功的,并且会被完成捕获.为什么它不起作用的任何想法?

注意:上面的代码是在coffeescript中,它并没有真正影响问题,但解释了我的语法

jquery coffeescript jquery-deferred

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

Git错误:dyld:惰性符号绑定失败:未找到符号:_iconv_open

我试图.bashrc用一些别名来修复我的新Mac,我已经做了一个.bash_profile尝试加载.bashrc终端打开的时候.但是,每次我尝试使用git命令时它都会给我这个错误.

git status
dyld: lazy symbol binding failed: Symbol not found: _iconv_open
  Referenced from: /usr/bin/git
  Expected in: /opt/local/lib/libiconv.2.dylib

dyld: Symbol not found: _iconv_open
  Referenced from: /usr/bin/git
  Expected in: /opt/local/lib/libiconv.2.dylib

Trace/BPT trap: 5
Run Code Online (Sandbox Code Playgroud)

我删除了.bash_profile甚至还原了.bashrc但仍然没有好处.有任何想法吗?

旁注:我看过Git> dyld:懒符号绑定失败:未找到符号:_iconv_open但他的解决方案似乎对我不起作用,因为我现在根本没有bash_profile.

git macos libiconv

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

动态地将模块包含在Rails中的另一个模块中

我想动态地将某个文件夹中的所有模块包含到这个其他模块中.我的代码如下:

module Extensions
  module ProductExtension
    def add_included_extensions
      extensions = Pathname.glob("lib/extensions/merchant/*.rb")
        .map(&:basename)
        .collect{|x| 
          x.to_s.gsub(".rb", "")
          .titleize.gsub(" ","")
        }

      extensions.each do |merchant|
        include "Extensions::MerchantExtensions::#{merchant}".constantize
      end
    end
    def add_items
      add_included_extensions
      Merchant.all.each do |merchant|
        send("add_#{merchant.name.downcase}_items")
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

但是它似乎并没有实际包含文件,因为当我调用send方法时,它说它调用的方法不存在.知道我可能做错了吗?

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

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