小编Pet*_*vin的帖子

是否可以在GitHub上搜索特定的文件名?

我知道GitHub Web界面允许您搜索所有存储库以查找具有特定路径名的文件(例如,搜索path:/app/models/user.rb产量> 109k结果),但有没有办法搜索所有存储库以查找与其子目录位置无关的文件名?我尝试在path论证中使用星号,这似乎不起作用.

search-engine github

120
推荐指数
8
解决办法
4万
查看次数

什么是只匹配空字符串的正则表达式?

有很多关于正则表达式匹配可能空字符串的帖子,但我不能轻易找到任何提供匹配空字符串的正则表达式.

我知道这^将匹配任何行的开头,$并将匹配任何行的结尾以及字符串的结尾.因此,/^$/匹配远远超过空字符串,如"\n","foobar \n \n"等.

不过,我会想到/\A\Z/只匹配空字符串,因为\A匹配字符串的开头并\Z匹配字符串的结尾.但是,我的测试表明它/\A\Z/也会匹配"\n".这是为什么?

regex string

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

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

有没有办法使Ruby临时文件永久化?

如果我已经创建了一个临时文件Tempfile,除了将它复制到另一个文件,我可以使它"永久"吗?我想避免在关联的Tempfile实例被垃圾收集或终止进程时被删除.

在一个相关的点上,有没有办法利用Tempfile机制(或使用类似的机制)来获取"新"文件名,而无需创建该名称的文件?

ruby temporary-files

21
推荐指数
2
解决办法
7418
查看次数

Rspec视图未定义方法stub_model

我试图找出这段代码有什么问题.即它找不到方法'stub_model'.试图寻找解决方案,但在任何地方我看起来我的文件似乎是好的.请看看它也许我只是看不到一个简单的错误.非常感谢:)书籍模型在db中创建.

我的观点规范(spec/view/books_spec.rb)如下所示:

require 'rails_helper'

describe 'books/new' do

  it 'displays the book form' do
    book = stub_model(Book)
    assign(:book, book)
    render
    expect(rendered).to have_selector("form label[for *= 'Title']")
    expect(rendered).to have_selector("form label[for *= 'Author']")
    expect(rendered).to have_selector("form label[for *= 'Cover Photo']")
    expect(rendered).to have_button "Add Book"
  end
end
Run Code Online (Sandbox Code Playgroud)

并且错误如下:

1) books/new displays the book form
     Failure/Error: book = stub_model(Book)
     NoMethodError:
       undefined method `stub_model' for #<RSpec::ExampleGroups::BooksNew:0x00000103e61870>
     # ./spec/views/books_spec.rb:6:in `block (2 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)

我的rails_helper.rb看起来像:

# This file is copied to spec/ when you run 'rails generate rspec:install' …
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails

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

为什么我在RSpec 3.0中得到"未定义的方法或变量'示例'"?

升级到RSpec 3.0后,我收到以下消息:

 Failure/Error: Unable to find matching line from backtrace
 NameError:
   undefined local variable or method `example' for #<RSpec::ExampleGroups::Anonymous:0x007f9ae985b548>
Run Code Online (Sandbox Code Playgroud)

即使将规范减少到以下内容后,该消息仍然存在:

describe "" do
  it "" do
  end
end
Run Code Online (Sandbox Code Playgroud)

我注意到capybara靠近堆栈的顶部,如下所示:

 # /Users/palfvin/.rvm/gems/ruby-2.0.0-p247@botmetrics/gems/capybara-2.1.0/lib/capybara/rspec.rb:20:in `block (2 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)

如果有帮助.

rspec capybara

14
推荐指数
2
解决办法
4174
查看次数

滚动关闭然后重新打开后,表视图单元格只能正确遮罩

我正在调用一个表视图单元格tableView:cellForIndexPath,但是在单元格滚动然后重新打开之前,修改不会出现.我意识到我可以修改.xib文件或者可以分配/初始化一个单元而不是调用dequeue,但我想了解发生了什么.

这些变化涉及掩盖细胞以实现圆角底角.如果我设置角半径(即cell.layer.cornerRadius = ...),使所有角都圆,我没有看到问题.

更新:

我最初没有发布代码,因为它是专有的,涉及很多复杂性,我认为在没有任何细节的情况下问题是合理的.然而,根据响应,这里是一个显示问题的简化片段,唯一的变化是实际的小区标识符.我还更新了描述/问题以简化方案.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"TheCorrectCellIdentifier" forIndexPath:indexPath];
    UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:cell.bounds byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight                                                         cornerRadii:CGSizeMake(4., 4.)];
    CAShapeLayer *maskLayer = [CAShapeLayer layer];
    maskLayer.frame = cell.bounds;
    maskLayer.path = maskPath.CGPath;
    cell.layer.masksToBounds = YES;
    cell.layer.mask = maskLayer;
    return cell;
}
Run Code Online (Sandbox Code Playgroud)

uitableview calayer ios

14
推荐指数
3
解决办法
7097
查看次数

Ruby的ERB格式在哪里"正式"定义?

许多来源(例如erb的含义是什么?谷歌搜索的前四个结果中的三个)引用http://ruby-doc.org/stdlib-1.8.7/libdoc/erb/rdoc/ERB .html作为ERB格式的官方文档,但它实际上只是为您提供API而不是文件格式.

我在http://docs.puppetlabs.com/guides/templating.html#erb-template-syntax中找到了一个不错的小摘要,但是必须有更正式的东西,对吧?谁是"定义权威"?这是来自Rails吗?

由于一些人喜欢知道问题背后的动机,我正在寻找关于ERB标签不能跨越多条线的相当基本约束的文档,而这反过来又出现了最近看到多个SO问题,其中OP显然没有意识到这种约束.

更新:鉴于@ sawa的回答引用了日本传统,请允许我澄清一下我对文档的最官方"英文"版本感兴趣.

ruby specifications ruby-on-rails erb

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

Ruby的字符串文字并置功能在哪里正式记录?

我最近意识到,如果你并置一系列Ruby字符串文字(例如'a' "b" 'c'),它就相当于这些字符串文字的串联.但是,我无法在任何地方找到此语言功能.我使用术语"并置"和"连接"进行了搜索,但只在几个StackOverflow响应中找到了对它的引用.谁能指出我一个明确的参考?

ruby

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

Rspec:事务夹具在升级到rails 4后不起作用

我在spec_helper.rb中设置了以下行

config.use_transactional_fixtures = true
Run Code Online (Sandbox Code Playgroud)

这意味着每个测试都应该自行清理.一次测试所做的任何db更新都不应该用于下一次测试.

我的一个spec文件中有两个测试.

it 'should update the DB' do
  Setting.put('abcd', 'efgh')
end

it 'should not find the DB update' do
  Setting.get('abcd').should be_nil
end
Run Code Online (Sandbox Code Playgroud)

以上两个测试用于使用Rails 3.2.14

但升级到Rails 4后,第二次测试失败,出现以下错误,

------
expected: nil
got: "efgh"
-----
Run Code Online (Sandbox Code Playgroud)

由于这个问题,我在套件中有大约100个测试失败.

我可以为Rails 4升级找到的唯一相关文档是非常模糊的:"Rails 4.0已经弃用了ActiveRecord :: Fixtures而支持ActiveRecord :: FixtureSet."

我不确定这是否/如何相关.理想情况下,我希望有一个全局设置(config.use_transactional_fixtures = true),而不必更改测试的逻辑(或在(:each)/ after(:each)模块之前添加额外的模块,以使现有测试通过. 请帮忙!

activerecord rspec ruby-on-rails

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