小编kri*_*sna的帖子

如何使用Capybara获取查询字符串的当前路径

页面网址就像/people?search=name 我使用current_path的水豚方法一样/people只返回.

current_path.should == people_path(:search => 'name')
Run Code Online (Sandbox Code Playgroud)

但它没有说

expected: "/people?search=name"
got: "/people"
Run Code Online (Sandbox Code Playgroud)

我们怎么能通过?有没有办法做到这一点?

rspec ruby-on-rails capybara ruby-on-rails-3

139
推荐指数
4
解决办法
7万
查看次数

RSpec:let和a block之间有什么区别?

RSpec letbefore块之间的区别是什么?

什么时候使用?

下面的例子中有什么好方法(让或之前)?

let(:user) { User.make !}
let(:account) {user.account.make!}

before(:each) do
 @user = User.make!
 @account = @user.account.make!
end
Run Code Online (Sandbox Code Playgroud)

我研究过这个stackoverflow帖子

但是为上面的关联内容定义let是否合适?

unit-testing rspec ruby-on-rails

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

capybara断言元素的属性

我正在使用RSpec2和Capybara进行验收测试.

我想断言链接在Capybara中是否被禁用.我怎样才能做到这一点?

rspec ruby-on-rails capybara

85
推荐指数
2
解决办法
7万
查看次数

设计没有密码的更新用户

我想在没有密码的情况下更新用户属性.情况就像,如果密码和密码确认字段不是空白,那么我需要设计错误,如果它们是空白,则需要更新其他用户属性.我怎么能用设计做到这一点?

提前致谢!

ruby-on-rails devise

73
推荐指数
7
解决办法
5万
查看次数

require_self是什么意思?

在rails3.1中,application.css我们可以看到

/*
 *= require_self
 *= require_tree .
*/
Run Code Online (Sandbox Code Playgroud)

我知道这require_tree .只是告诉系统将样板文件夹中的所有内容捆绑到一个文件中.

但是什么require_self告诉了?

ruby-on-rails-3.1 sprockets

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

用于修复bug的Git flow分支

我一直在使用git flow.我正在寻找分支模型来修复开发分支中发现的问题和错误.我知道我们可以使用修补程序,但它适用于主分支,或快速修复生产.

修复开发中的错误不是一个功能.我总是可以重新初始化git flow并将默认前缀分支覆盖到bug /.但如果我还需要启动新功能,它需要重新初始化.这是一个很好的做法还是有一些技术可以解决这个问题?

git git-flow

30
推荐指数
3
解决办法
2万
查看次数

了解attr_accessor类方法的自我

class Test
  class << self
    attr_accessor :some

    def set_some
      puts self.inspect
      some = 'some_data'
    end
    def get_some
      puts self.inspect
      some
    end
  end
end

Test.set_some => Test
puts Test.get_some.inspect => Test nil
Run Code Online (Sandbox Code Playgroud)

在上面我可以找到自己作为测试本身但不返回some_data输出.

但是,当我按以下方式修改时,它返回预期的输出

class Test
  class << self
    attr_accessor :some

    def set_some
      puts self.inspect
      self.some = 'some_data'
    end
    def get_some
      puts self.inspect
      self.some
    end
  end
end

Test.set_some => Test
puts Test.get_some.inspect => Test some_data
Run Code Online (Sandbox Code Playgroud)

有什么区别?

编辑

现在在第一个例子中,如果我将get some方法设置为

Test.some = 'new_data'
puts Test.some.inspect #=> new_data
Test.set_some
puts …
Run Code Online (Sandbox Code Playgroud)

ruby attr-accessor

6
推荐指数
2
解决办法
3406
查看次数

在 yaml 文件中传递变量

我喜欢使用 i18n 和 yml。我想要我自己的 yaml 文件来做类似的事情。那是访问 yaml 文件中的变量。像这样的东西

name:
  address: "%{city} %{street}"
Run Code Online (Sandbox Code Playgroud)

添加变量可以传递类似的东西 some_method('name.address', :city => 'my city', :street => 'my street')

在 i18n 我们可以做

en:
 message:
  welcome: "Hello %{username}"
Run Code Online (Sandbox Code Playgroud)

要调用它,我们可以使用 t("message.welcome", :username => 'admin')

我该如何实施?

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

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

如何重定向跳过子域

我在 abc.domainname.com

现在在任何行动中

我想重定向到domainname.com没有子域的页面.

我怎样才能做到这一点?

我尝试过index_path(:subdomain => false).

如果我硬编码redirect_to("http://domainname.com").然后它工作.

subdomain ruby-on-rails-3

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

在mongoid中使用嵌入式和引用的正确方法

我正在建立协会如下

person embeds one address

address references one country address references one province

country embeds many provinces

以上协会好吗?我太困惑如何构建它们.我不知道mongodb和mongoid用于建立联想的确切用途.

我的主要关注点是何时使用嵌入式和何时使用引用关联?

associations mongodb mongoid

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