小编pat*_*ick的帖子

获取rails控制器对象的命名空间?

获取当前控制器对象命名空间的最佳方法是什么?从检查当前控制器动作中的self,我看到有一个参数"REQUEST_URI"包含一个像"foo_namespace/bar"这样的字符串,但我想知道是否有更好的方法来获取它而不是得到它(那个request_uri wasn甚至可以直接从控制器实例对象访问,我认为它嵌套在其他一些参数中)?

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

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

如何为多态关联执行有点复杂的ActiveRecord范围查询?

所以,我有一个Notification多态的模型,我希望能够过滤掉notifiable_type Comment那里的通知comment.user == current_user.换句话说,我想要所有通知记录 - 除了那些引用当前用户发表的评论的记录.

class Notification

  belongs_to :notifiable, :polymorphic => true

  scope :relevant, lambda { |user_id|
    find(:all, :conditions => [
      "notifiable_type != 'Comment' OR (notifiable_type = 'Comment' AND " <<
        "comments.user_id != ?)",
      user_id ],
      :include => :comments
    )
  }

end
Run Code Online (Sandbox Code Playgroud)

我不明白的是我需要做什么才能获得评论?我需要告诉ActiveRecord外部加入评论模型notifiable_id.

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

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

如何配置vim + ctags来识别rails ActiveRecord范围定义?

说我有这个代码:

class User < ActiveRecord::Base
  scope :recent, where(:created_at => 2.weeks.ago)
end
Run Code Online (Sandbox Code Playgroud)

...然后在vim中,我转到另一个文件,看到:

User.recent
Run Code Online (Sandbox Code Playgroud)

有没有办法我可以配置ctags,以便在查找时:标记最近,它会带我到范围声明?它似乎只查找实际方法定义的内容.

...

另外,有没有办法为标签指定路径?我得到的是,我想为给定的rails项目中的所有gem生成ctags,以便我可以从我的代码中跳转到第三方代码方法声明.这可能吗?

vim ctags ruby-on-rails-3

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

vcr从多个Web请求中断

我正在开发的一个项目有集成测试,它实际上已经通过线路击中了第三方API ...运行这些测试需要长时间.我建议我们实现像VCR这样的东西,以便测试与之交互的数据可以作为固定装置捕获,并提高这些测试的可靠性和速度.

我此刻无法访问代码库,但我相信测试是这样做的:

before do
  login_some_user
end

after do
  make_web_request_to_clear_items_in_cart
end

it "adds some items to the user's cart" do
  make_web_request_to_add_item_to_a_cart
end
Run Code Online (Sandbox Code Playgroud)

所以基本上前面的块是发出一个Web请求,例子是一个完全不同的请求,一个后块(我知道它不是理想的)发出第三个请求来清理由示例创建的记录.

我在spec_helper中设置了一个around块,用于捕获Web请求并以示例的名称存储它们.但是,在重复运行测试后,我发现它们变得非常松散,有时会通过,有时不会......我尝试在单独的VCR.use_cassette块调用中包装前后块,但它没有任何区别.

我想知道我是否遗漏了一些东西,如果有办法处理这样的多个请求或什么?

rspec ruby-on-rails vcr

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

即使未使用,仍需要 NSMicrophoneUsageDescription 吗?

我刚刚尝试提交我的应用程序,收到一封电子邮件,内容如下:

该应用程序尝试在没有使用说明的情况下访问隐私敏感数据。应用程序的 Info.plist 必须包含一个 NSMicrophoneUsageDescription 键,其中包含一个字符串值,向用户解释应用程序如何使用此数据。

我正在使用神奇音频引擎,但我在代码中根本没有使用麦克风。因此,我假设 Apple 看到我的二进制文件包含 TAAE,并且具有涉及麦克风的方法,即使它们没有被使用。

所以我的问题是,有办法解决这个问题吗?我应该删除录音机文件的标头吗?或者我是否被迫让我的应用程序发出需要使用麦克风的警报,即使它永远不会(天啊!!!)?

ios

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

不知从何而来,突然得到 __webpack_require__.h 不是一个函数

我的应用程序运行良好...尝试使用带有 chrome(幻影驱动程序)的水豚来运行我的功能规范,我得到:Failed to compile webpack!

然后我在浏览器中启动了我的应用程序,昨天它运行得很好,但我得到了一个带有 js 错误的损坏的应用程序:

index.js:37 Uncaught TypeError: __webpack_require__.h is not a function
    at Module../node_modules/webpack-dev-server/client/index.js?protocol=ws%3A&hostname=localhost&port=3035&pathname=%2Fws&logging=info&reconnect=10 (index.js:37:1)
    at __webpack_require__ (bootstrap:19:1)
    at __webpack_exec__ (external var "AppConfiguration":1:1)
    at external var "AppConfiguration":1:1
    at Function.__webpack_require__.O (chunk loaded:25:1)
    at external var "AppConfiguration":1:1
    at webpackJsonpCallback (jsonp chunk loading:32:1)
    at app.js:1:67
./node_modules/webpack-dev-server/client/index.js?protocol=ws%3A&hostname=localhost&port=3035&pathname=%2Fws&logging=info&reconnect=10 @ index.js:37
__webpack_require__ @ bootstrap:19
__webpack_exec__ @ external var "AppConfiguration":1
(anonymous) @ external var "AppConfiguration":1
__webpack_require__.O @ chunk loaded:25
(anonymous) @ external var "AppConfiguration":1
webpackJsonpCallback @ jsonp chunk loading:32
(anonymous) @ app.js:1 …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails webpack webpacker angular

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

在iOS设备上有"优化"类型吗?

在这里,我只是编写了一些处理整数值-24/+ 24的代码,并且我让我的方法返回一个int ...我想我自己 - 在这种情况下我真的应该使用短路吗?我知道它可能在那些记忆力为48k的那一天很重要 - 但在今天的现代世界中它真的重要吗?

即使我知道我的数字会非常小,只是"快乐"就可以了吗?

arm objective-c ios

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

当rails控制器返回200 OK时,不会触发jquery ajax成功回调

我正在做一个标准的ajax请求,我有一个rails控制器动作:

def up_vote
  resource.votes.increment!
  render :nothing => true
end
Run Code Online (Sandbox Code Playgroud)

这不会触发我的jquery ajax成功回调---它会触发statusCode:200回调,但我想使用成功而不是那个.铁路渲染文档说用"头",而不是渲染:没什么=> true,所以我试着做头:OK,但导致同样的结果.

如何使此方法触发成功回调?

jquery ruby-on-rails

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

无法使用selenium测试打开chrome中的web instpector

我正在尝试在集成测试期间检查页面,所以我有一个测试,我在其中添加了一个断点 - 一旦chrome启动并且测试开始,断点就会出现,并且浏览器处于空闲状态..一打开Web检查器,chrome退出并显示错误:

Selenium::WebDriver::Error::WebDriverError:
  disconnected: received Inspector.detached event
Run Code Online (Sandbox Code Playgroud)

我使用的是Chrome版本37.0.2062.124和ChromeDriver版本2.10.267517

selenium selenium-chromedriver

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

红宝石注入方法不做我认为它应该做的事情

有谁知道为什么这会失败?

ree-1.8.7-2011.03 :008 > 3.times.inject({}) {|result, el| result[el.months.ago.strftime("%B")] = "blah"}
IndexError: string not matched
  from (irb):8:in `[]='
  from (irb):8
  from (irb):8:in `inject'
  from (irb):8:in `each'
  from (irb):8:in `times'
  from (irb):8:in `each'
  from (irb):8:in `
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

如何在rails中的选择查询中添加虚拟"计数"列?

我有一个帖子模型,并发布has_many:comments,:as =>:commentable(polymorphic).我正在寻找一种方法,我可以获取所有帖子,并在记录上有一个虚拟属性,它将显示该帖子有多少条评论.

我以为我可以做到:

Post.select("posts.*, count(comments.id) as post_comments").joins(:comments)
Run Code Online (Sandbox Code Playgroud)

但是,它只返回一条记录,post_comments设置为整个数据库中的所有注释,而不仅仅是属于记录的那些...

activerecord ruby-on-rails

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

无法获取 NEON 内在函数标头以在 XCode 中进行编译

我有一些使用 NEON 内在函数的 C++ 代码。根据我所读到的内容,您所需要做的就是将arm_neon.h包含到您的项目中。然后我读到这个arm_neon.h标头实际上并不容易自动供您使用,您必须从网络上获取它。所以我找到了这个版本并将其添加到我的项目中:

http://clang.llvm.org/doxygen/arm__neon_8h-source.html

在我的项目的 prefix.pch 中我添加了:

#import "arm_neon.h"
Run Code Online (Sandbox Code Playgroud)

当我尝试在 iPhone6 设备上构建时(我没有使用模拟器),我在arm_neon.h 文件中遇到了十亿个错误:

在此输入图像描述

谁能向我解释一下我在这里缺少什么吗?

xcode arm clang neon

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

获得随机奇数或偶数的最有效方法是什么?

所以,我可以想到一些解决方案(例如关注获取随机奇数):

int n;
while (n == 0 || n % 2 == 0) {
    n = (arc4random() % 100);
}
Run Code Online (Sandbox Code Playgroud)

哇..对吗?效率不高..

int n = arc4random() % 100);
if (n % 2 == 0) n += 1;
Run Code Online (Sandbox Code Playgroud)

但我不喜欢它总是会增加数量,如果它不奇怪..也许这不应该?另一种方法可能是随机化:

int n = arc4random() % 100);
if (n % 2 == 0) {
    if (arc4random() % 2 == 0) {
       n += 1;
    else {
       n -= 1;
    }
 }
Run Code Online (Sandbox Code Playgroud)

但这对我来说感觉有些尴尬..所以我想知道是否有更好的方法来做这种事情?

objective-c

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