获取当前控制器对象命名空间的最佳方法是什么?从检查当前控制器动作中的self,我看到有一个参数"REQUEST_URI"包含一个像"foo_namespace/bar"这样的字符串,但我想知道是否有更好的方法来获取它而不是得到它(那个request_uri wasn甚至可以直接从控制器实例对象访问,我认为它嵌套在其他一些参数中)?
所以,我有一个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.
说我有这个代码:
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,以便我可以从我的代码中跳转到第三方代码方法声明.这可能吗?
我正在开发的一个项目有集成测试,它实际上已经通过线路击中了第三方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块调用中包装前后块,但它没有任何区别.
我想知道我是否遗漏了一些东西,如果有办法处理这样的多个请求或什么?
我刚刚尝试提交我的应用程序,收到一封电子邮件,内容如下:
该应用程序尝试在没有使用说明的情况下访问隐私敏感数据。应用程序的 Info.plist 必须包含一个 NSMicrophoneUsageDescription 键,其中包含一个字符串值,向用户解释应用程序如何使用此数据。
我正在使用神奇音频引擎,但我在代码中根本没有使用麦克风。因此,我假设 Apple 看到我的二进制文件包含 TAAE,并且具有涉及麦克风的方法,即使它们没有被使用。
所以我的问题是,有办法解决这个问题吗?我应该删除录音机文件的标头吗?或者我是否被迫让我的应用程序发出需要使用麦克风的警报,即使它永远不会(天啊!!!)?
我的应用程序运行良好...尝试使用带有 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) 在这里,我只是编写了一些处理整数值-24/+ 24的代码,并且我让我的方法返回一个int ...我想我自己 - 在这种情况下我真的应该使用短路吗?我知道它可能在那些记忆力为48k的那一天很重要 - 但在今天的现代世界中它真的重要吗?
即使我知道我的数字会非常小,只是"快乐"就可以了吗?
我正在做一个标准的ajax请求,我有一个rails控制器动作:
def up_vote
resource.votes.increment!
render :nothing => true
end
Run Code Online (Sandbox Code Playgroud)
这不会触发我的jquery ajax成功回调---它会触发statusCode:200回调,但我想使用成功而不是那个.铁路渲染文档说用"头",而不是渲染:没什么=> true,所以我试着做头:OK,但导致同样的结果.
如何使此方法触发成功回调?
我正在尝试在集成测试期间检查页面,所以我有一个测试,我在其中添加了一个断点 - 一旦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
有谁知道为什么这会失败?
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) 我有一个帖子模型,并发布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设置为整个数据库中的所有注释,而不仅仅是属于记录的那些...
我有一些使用 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 文件中遇到了十亿个错误:
谁能向我解释一下我在这里缺少什么吗?
所以,我可以想到一些解决方案(例如关注获取随机奇数):
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)
但这对我来说感觉有些尴尬..所以我想知道是否有更好的方法来做这种事情?