小编Jon*_*ian的帖子

将vs logger放入rails rake任务中

在rake任务中,如果我使用puts命令,那么我在控制台上看到输出.但是,在生产中部署应用程序时,我不会在日志文件中看到该消息.

但是,如果我说Rails.logger.info然后在开发模式下,我在控制台上看不到任何内容.我需要去日志文件和尾部.

我理想情况下喜欢使用Rails.logger.info并在rake任务中的开发模式下,logger的输出也应该发送到控制台.

有没有办法实现这一目标?

rake ruby-on-rails

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

Sunspot如何修改Solr的schema.xml?是否会修改它?

如果我错了,请告诉我,但我认为solr只需要schema.xml中已经提到过的字段.所以,如果我有一个名为'title'的字段,我需要在模式中提到它.

在Sunspot的文档中没有提到修改schema.xml.我只是想知道Sunspot如何修改schema.xml,允许自定义字段输入索引.

我也知道Sunspot使用RSolr来做事情.因此,如果有办法修改架构并使用RSolr将数据从DB重新加载到Solr,请告诉我.

solr ruby-on-rails sunspot ruby-on-rails-3 sunspot-rails

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

推荐用于ruby-on-rails的twitter gem

我在那里找到了几个不同的twitter gem(用于ruby-on-rails):

http://twitter4r.rubyforge.org/

http://twitter.rubyforge.org/

但我想知道是否有人可以评价他们并提供一个或一个新的建议.

谢谢

ruby ruby-on-rails twitter-gem

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

使用curl将JSON数据POST到简单的rails应用程序

我设置了一个简单的新rails应用程序,带有模型入口,属性title和content使用脚手架.

现在我正在尝试使用curl来发布JSON数据(而不是使用浏览器).

以下似乎工作(即成功发布空数据):

curl --verbose --header "Accept: application/json" --header "Content-type: application/json" --request POST --data "" http://localhost:3000/entries
Run Code Online (Sandbox Code Playgroud)

以下不起作用:

curl --verbose --header "Accept: application/json" --header "Content-type: application/json" --request POST --data "{'content':'I belong to AAA','title':'AAA'}" http://localhost:3000/entries
Run Code Online (Sandbox Code Playgroud)

我尝试了很多变化.我得到的错误主要是JSON数据中未找到主机或意外令牌.

ruby post json curl ruby-on-rails

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

Rails 3.1服务器启动失败,"Abort trap:6"

当我尝试rails s在我的Rails 3.1应用程序上进行操作时,我得到了:

/Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: warning: already initialized constant WFKV_
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/eventmachine-0.12.10/lib/rubyeventmachine.bundle: [BUG] Segmentation fault
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.1.0]

-- control frame ----------
c:0038 p:-17557387368028 s:0124 b:0124 l:000123 d:000123 TOP   
c:0037 p:---- s:0122 b:0122 l:000121 d:000121 CFUNC  :require
c:0036 p:0012 s:0118 b:0118 l:000102 d:000117 BLOCK  /Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240
c:0035 p:0005 s:0116 b:0116 l:000107 d:000115 BLOCK  /Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223
c:0034 p:0045 s:0114 b:0114 l:000113 d:000113 METHOD /Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:640
c:0033 p:0041 s:0108 b:0108 l:000107 d:000107 METHOD /Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223
c:0032 p:0019 s:0103 b:0103 l:000102 d:000102 METHOD /Users/Kyle/.rvm/gems/ruby-1.9.2-p290@skateparks/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240 …
Run Code Online (Sandbox Code Playgroud)

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

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

在SSL模式下运行nginx后,Omniauth和open_id与Google断了

Rails 3.0.12,最新的omniauth,我可以连接到谷歌并获得用户的电子邮件地址就好了.但是我在SSL模式下在nginx后面运行相同的rails应用程序,并且它在Google页面中失败:

"The page you requested is invalid."
Run Code Online (Sandbox Code Playgroud)

这是我的nginx配置吗?我的omniauth设置?

我知道X-Forwarded-Proto: https这里有特殊的酱汁,还有什么我需要做的就是在SSL网络服务器后面获得开心的快乐吗?

这是完整的示例代码:您可以克隆此repo,bundle install并运行rails s以查看它工作正常,然后运行rake server以查看它失败. https://github.com/jjulian/open_id_ssl

nginx.conf:

worker_processes  2;
pid        tmp/nginx.pid;
error_log  log/error.log;
daemon     off;

events {
}

http {
  client_body_temp_path tmp/body;
  proxy_temp_path       tmp/proxy;
  fastcgi_temp_path     tmp/fastcgi;
  uwsgi_temp_path       tmp/uwsgi;
  scgi_temp_path        tmp/scgi;

  server {
    listen 3000 ssl;
    ssl_certificate      development.crt;
    ssl_certificate_key  development.key;
    ssl_verify_depth     6;

    access_log log/access.log;
    proxy_buffering off;
    location / {
      proxy_pass        http://127.0.0.1:3300;
      proxy_set_header  X-Real-IP        $remote_addr;
      proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
      proxy_set_header  Host             $http_host;
      proxy_redirect    off;
      proxy_set_header …
Run Code Online (Sandbox Code Playgroud)

openid ruby-on-rails nginx omniauth

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

extjs输入文本maskRe

在Ext JS中,以下maskRe不起作用,因为它没有在文本字段上放置最多5个字符的限制,为什么?

{
  xtype: 'textfield',
  fieldLabel: '* Zip Code',
  allowBlank: false,
  maskRe: /\d{0,5}/i
}
Run Code Online (Sandbox Code Playgroud)

regex extjs

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

基于web的开发期间的背景图像路径

我正在玩一个名为Jetstrap和Divshot的基于云的前端开发人员.当使用像这样的基于Web的软件时,我想如何编写用于css"背景图像"的PATH的方式有点困惑.我在哪里存储图像以及如何调用它?我想在导出之前预览背景图像.

css background image divshot jetstrap

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

如何触发或检查链式映射的状态reduce(dbcopy)

使用标准的CouchDB视图索引,我可以灵活地对缺点与新鲜度进行内省.如何获得Cloudant dbcopy功能的类似功能?

CouchDB查看查询新鲜度

  • 磁盘上的当前索引,可能是陈旧的: stale=ok
  • 磁盘上的当前索引,但触发更新: stale=update_after
  • 最新的索引,即使这需要更新索引:留下过时的标志(又名stale=false)

CouchDB视图新鲜内省

我可以将DB update_seq与设计文档进行比较update_seq,可以update_seq=true在视图查询中或从中获取GET /db/_design/foo/_info.

BigCouch警告

BigCouch的数据库分区和多个服务器略微蒙上阴影.例如update_seq是复合材料,应仅在公差范围内进行比较; stale=false可能会选择不同的碎片,stale=ok而碎片可能或多或少是最新的; 虽然没有办法获取update_seq所有节点(或stale=false查询将选择的特定节点),但可以通过快速发出多个/db/_design/foo/_info查询来欺骗它.在这里有额外的碎片/分区内省会很好,但上面仍然适用于我的目的.

Cloudant的 dbcopy

dbcopy具有大致相同的"最终一致性"特征.查询链式数据库中的文档大致类似于查询原始视图group=true&stale=ok.哪个好,大部分时间都没问题.但是文档没有提供以下内容的任何指示:

  • 如何查询当前dbcopy状态?例如,数据库是否认为自己是最新的,或者是否在IOQ中轮流查看更改?如果它不是最新的,大致有多陈旧?
  • 如何触发或提高dbcopy(在stale=update_after或中stale=false)的优先级.例如,我想要的东西POST /origin_db/_design/foo/_view/bar/_dbcopy将强制dbcopy立即将减少的结果推送到DB(可选择首先更新原点视图).
  • 如果链接的数据库以某种方式不同步(例如,文档在DB中直接删除或更新,而不是通过dbcopy机制或dbcopy机制错过了一些文档),是否可以检测到这些?怎么纠正?有dbcopy"重置按钮"吗?

couchdb cloudant bigcouch

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

Obj-C:如何从NSInvocation获取并调用块参数 - 在iOS上存根Twitter帐户

我正在使用KIF和OCMock测试iOS应用程序,将设备存根ACAccountStore以返回我自己的Twitter帐户表示.我想要存根requestAccessToAccountsWithType,并使用我自己的值调用传递的完成处理程序,但我似乎无法从调用中获取块并正确调用它(EXC_BAD_ACCESS).作为Objective-C和iOS的新手,我确信自己做错了什么,同时把这个块拉出来NSInvocation.

这是生产代码._accountStore是从测试设置中注入的.

ACAccountType *twitterType = [_accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[_accountStore requestAccessToAccountsWithType:twitterType withCompletionHandler:^(BOOL granted, NSError *error) {
    NSLog(@"authorized=%i in block", granted);
    // important code here
}];
Run Code Online (Sandbox Code Playgroud)

测试设置代码.

ACAccountStore *realStore = [[ACAccountStore alloc] init];
// Stub the store to return our stubbed Twitter Account
id mockStore = [OCMockObject partialMockForObject:realStore];
[[[mockStore stub] andDo:^(NSInvocation *invocation) {
    void (^grantBlock)(BOOL granted, NSError *error) = nil;
    [invocation getArgument:&grantBlock atIndex:1]; // EXC_BAD_ACCESS
    grantBlock(TRUE, nil); // run the important code with TRUE …
Run Code Online (Sandbox Code Playgroud)

objective-c ocmock ios objective-c-blocks ios5

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