小编sil*_*son的帖子

CodeRay在Rails控制台中抛出错误

我正在运行Rails 4,每当我尝试在rails控制台中运行任何东西时,我都会收到以下错误:

2.0.0 (main):0 > User.first
CodeRay::Scanners::Scanner::ScanError:

***ERROR in scanner.rb:333:in `raise_inspect': no implicit conversion of Array into String (after  tokens)

tokens:


current line: 1  column: 5  pos: 4
matched: nil  state: "Error in CodeRay::Scanners::Ruby#scan_tokens, initial state was: :initial"
bol?: false,  eos?: false


surrounding code:
Run Code Online (Sandbox Code Playgroud)

没有~~".first"

错误

来自/Users/silasjmatson/.gem/ruby/2.0.0/gems/coderay-1.1.0/lib/coderay/encoders/terminal.rb:145:in`text_token'

2.0.0(主要):0>

我的Gemfile.lock是这样的:

GIT
  remote: git://github.com/gregbell/active_admin.git
  revision: abb3d454d3a6cb0852be6e7aa4c289ba83e1a966
  branch: master
  specs:
    activeadmin (1.0.0.pre)
      arbre (~> 1.0)
      bourbon
      coffee-rails
      devise (~> 3.0)
      formtastic (~> 2.3.0.rc2)
      inherited_resources (~> 1.3)
      jquery-rails
      jquery-ui-rails
      kaminari (~> 0.13)
      rails (>= …
Run Code Online (Sandbox Code Playgroud)

coderay ruby-on-rails-4

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

如何在RubyMotion中创建字符串的md5哈希

我有一封电子邮件,想从gravatar.com中提取相应的图片

使用ruby,很容易:

    require 'Digest/md5'

    Digest::MD5.hexdigest("my string")
Run Code Online (Sandbox Code Playgroud)

由于requireRubyMotion中没有方法,如何从电子邮件生成哈希?

ios rubymotion

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

Apple拒绝了app,因为它在未经用户许可的情况下传输MAC地址

我们最近开发的应用程序被Apple拒绝了.这是他们的解释:

根据"应用商店评论指南"的要求,我们发现您的应用在收集用户的个人数据之前未获得用户同意.

具体而言,您的应用程序在未经用户许可的情况下发送设备的MAC地址.您的应用程序也会在未经用户许可的情况下发送设备联系信息.

要使用您的应用收集个人数据,您必须向用户明确说明他们的个人数据将上传到您的服务器,并且您必须在上传数据之前征得用户的同意.

iOS 6包含用于指定应用访问用户受保护数据的原因的新密钥.显示访问提示时,这些键中指定的用途将显示在该对话框中.如果您的应用程序将传输受保护的用户数据,则访问请求中的使用字符串应明确告知用户,如果他们同意,他们的数据将上传到您的服务器.

有关这些密钥的更多信息,请参阅信息属性列表密钥参考.

我们正在使用RubyMotion工具链,而不是在我们的应用程序中的任何位置访问MAC地址.我们认为它可能是我们正在使用的SDK或宝石之一.

的Gemfile:

source :rubygems

gem 'bubble-wrap', :git => 'https://github.com/rubymotion/BubbleWrap.git'
gem 'teacup' 
gem 'rake'
gem "cocoapods", "0.13.0"
gem 'motion-cocoapods', "1.1.0"
gem 'motion-testflight'
gem 'motion-table'
gem "Parsistence"
gem 'formotion'
gem "ProMotion"
gem "motion-addressbook"
Run Code Online (Sandbox Code Playgroud)

唯一的外部api调用是Parse.com和testflight,因为我们正在使用这两个SDK.

Parse表示他们不收集MAC地址,除非你专门这样做,否则Testflight不会.

我们也在使用这些Cocoa豆荚:

'的NSData + MD5Digest'

'MBProgressHUD'

'ASIHTTPRequest'

'PHFRefreshControl'

'JSONKit'

问题:这些宝石或Cocoapods中的任何一个是否需要MAC地址?

mac-address ios rubymotion

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

如何在Heroku上安装charlock_holmes依赖libicu-dev

我在Rails 4应用程序中使用ruby gem charlock_holmes来检测我正在解析的CSV的字符编码,这样CSV.foreach就不会抛出错误.

但是,当我尝试推送到heroku(gem 'charlock_holmes'在Gemfile中)时,我收到以下错误:

Installing charlock_holmes (0.6.9.4)
   Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

   /tmp/build_e741f6ed-a860-47bf-8c0d-1b678fa0ebeb/vendor/ruby-2.0.0/bin/ruby extconf.rb
   checking for main() in -licui18n... no
   checking for main() in -licui18n... no


   ***************************************************************************************
   *********** icu required (brew install icu4c or apt-get install libicu-dev) ***********
   ***************************************************************************************
   *** extconf.rb failed ***
   Could not create Makefile due to some reason, probably lack of necessary
   libraries and/or headers.  Check the mkmf.log file for more details.  You may
   need configuration options. …
Run Code Online (Sandbox Code Playgroud)

heroku icu ruby-on-rails-4

6
推荐指数
3
解决办法
5680
查看次数

排序Ruby数组的服装尺寸

给出以下ruby数组:

["2XL", "3XL", "4XL", "5XL", "6XL", "L", "M", "S", "XL"]
Run Code Online (Sandbox Code Playgroud)

如何对其进行排序以使其按此顺序排列?

["S", "M", "L", "XL", "2XL", "3XL", "4XL", "5XL", "6XL"]
Run Code Online (Sandbox Code Playgroud)

请注意,并不总是存在每个尺寸.

为了历史,这是我最初的实现.

sorted_sizes = []

sorted_sizes << "S" if sizes.include?("S")
sorted_sizes << "M" if sizes.include?("M")
sorted_sizes << "L" if sizes.include?("L")
sorted_sizes << "XL" if sizes.include?("XL")
sorted_sizes << "2XL" if sizes.include?("2XL")
sorted_sizes << "3XL" if sizes.include?("3XL")
sorted_sizes << "4XL" if sizes.include?("4XL")
sorted_sizes << "5XL" if sizes.include?("5XL")
sorted_sizes << "6XL" if sizes.include?("6XL")

sorted_sizes
Run Code Online (Sandbox Code Playgroud)

ruby sorting

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

当default_url_options trailing_slash为true时,Rails root_url有两个正斜杠

在application.rb文件中设置此行时:

config.action_controller.default_url_options = { trailing_slash: true}
Run Code Online (Sandbox Code Playgroud)

root_url包含两个正斜杠:

www.example.com//

没有那条线,我们得到:

www.example.com

我们有这个原因是SEO的目的,该网站是从PHP转换而来,我们希望保持一致性.

问题:有没有办法删除双正斜杠?它最近才开始这样做......也许是最近Rails的变化?(我们总是更新到最新的.)

更新:能够使用默认应用程序重现.(Rails 3.2.8)https://github.com/silasj/rails_test_forward_slash

Gihub问题:https://github.com/rails/rails/issues/8700

ruby-on-rails actioncontroller

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

phpActiveRecord不正确的DateTimeFormat

当尝试使用phpActiveRecord在表中创建记录时,我收到以下错误:

Invalid datetime format: 1292 Incorrect datetime value: '2013-06-20 11:59:08 PDT' for column 'created_at'

正在运行的代码:

$new_cart = new QuoteRequest();
$new_cart->status = "cart";
$new_cart->save();
Run Code Online (Sandbox Code Playgroud)

我已将其跟踪到phpActiveRecord中的相关行.文件Connection.php,第55-59行:

/**
 * Database's datetime format
 * @var string
 */
static $datetime_format = 'Y-m-d H:i:s T';
Run Code Online (Sandbox Code Playgroud)

使用它的行(Connection.php,第457-466行):

/**
 * Return a date time formatted into the database's datetime format.
 *
 * @param DateTime $datetime The DateTime object
 * @return string
 */
public function datetime_to_string($datetime)
{
  return $datetime->format(static::$datetime_format);
}
Run Code Online (Sandbox Code Playgroud)

转换值的位置(Table.php第394-412行):

private function &process_data($hash)
{
    if (!$hash)
        return $hash; …
Run Code Online (Sandbox Code Playgroud)

php mysql phpactiverecord

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

Expressjs没有在heroku上加载样式表,给出500错误

我在heroku上运行Expressjs安装,并没有加载样式表.

我点击了ctrl + u然后点击样式表链接,并收到此错误:

TypeError: Object #<SendStream> has no method 'on'
    at Object.static [as handle] (/app/node_modules/express/node_modules/connect/lib/middleware/static.js:75:8)
    at next (/app/node_modules/express/node_modules/connect/lib/proto.js:190:15)
Run Code Online (Sandbox Code Playgroud)

当我转到网址'/stylesheets/style.css'时,我收到此错误:

Express
500 TypeError: Object #<SendStream> has no method 'on'

    at Object.static [as handle] (/app/node_modules/express/node_modules/connect/lib/middleware/static.js:75:8)
    at next (/app/node_modules/express/node_modules/connect/lib/proto.js:190:15)
    at /app/node_modules/stylus/lib/middleware.js:174:46
    at /app/node_modules/stylus/lib/middleware.js:208:20
Run Code Online (Sandbox Code Playgroud)

一切都在当地很好.

这是package.json

  {
    "name": "app-name",
      "version": "0.0.1",
      "private": true,
      "scripts": {
      "start": "node app"
     },
     "dependencies": {
       "express": "3.0.0rc1",
       "jade": "*",
       "stylus": "*"
     }
   }
Run Code Online (Sandbox Code Playgroud)

app.js:

/**
 * Module dependencies.
 */
 var express = require('express')
  , routes = require('./routes') …
Run Code Online (Sandbox Code Playgroud)

stylus stylesheet node.js express pug

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

删除iOS中日期的时区偏移量

我需要获取当前NSDate.date时间并删除时区并将其解析为GMT日期

NSDate.date
Run Code Online (Sandbox Code Playgroud)

回报 2012-10-11 11:27:09 -0700

我需要的是这个: 2012-10-11 11:27:09 +0000

nsdate ios rubymotion

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

Ruby抓取匹配条件的数组的第一个元素的索引

我遇到了这个问题,我想知道是否有更好的方法来做到这一点.

鉴于阵列:

options = [
  SelectItem.new(-1, "String 1"),
  SelectItem.new(0, "String 2"),
  SelectItem.new(7, "String 3"),
  SelectItem.new(14, "String 4")
]
Run Code Online (Sandbox Code Playgroud)

获取匹配特定条件的第一个元素的索引的最佳方法是什么?

我的解决方案是:

my_index = 0
options.each_with_index do |o, index|
  if o.value == some_value
    my_index = index
    break
  end
end
Run Code Online (Sandbox Code Playgroud)

还有另一种方法吗? Enumerable#find返回满足条件的第一个对象,但我想要一些返回满足条件的第一个对象的索引.

ruby arrays indexing

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

无法识别的选择器发送到UIImage?

希望你能帮助我.代码是Rubymotion,但我很确定这是一个iOS问题.代码很简单,希望Rubymotion不会妨碍答案.我可以阅读Obj-C,所以如果你只能用Obj-C回答,我对此很好.

我有一个UIImage对象.我正试着弄它的大小.当我执行以下操作时:

image = info.objectForKey(UIImagePickerControllerOriginalImage) 
@image = UIImage.alloc.initWithCIImage(image)
puts @image.to_s
puts @image.size
puts @image.to_s
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

#<UIImage:0x9513710>
NSInvalidArgumentException: -[UIImage extent]: unrecognized selector sent to instance 0x10fb7410 (RuntimeError)
#<UIImage:0x9513710>
Run Code Online (Sandbox Code Playgroud)

我已经读过,当你得到范围错误时,它往往意味着对象已经释放并且不再在内存中但是如果我注释掉.size行,第3行仍然运行意味着它还没有被释放.

有任何想法吗?

objective-c ios rubymotion

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