小编Elm*_*mor的帖子

有没有任何额外的注射速记

我最近碰到了这个问题:
我总是这样使用注入(我知道(0)部分是可选的,可以省略)

array = [13,23,13]
#=> [13, 23, 13]
array.inject(0) { |sum,i| sum+i }
#=> 49
Run Code Online (Sandbox Code Playgroud)

我偶然发现你可以使用:

array.inject(:+)
#=> 49
array.inject(:-)
#=> -23
array.inject(:*)
#=> 3887
array.inject(:/)
#=> 0
Run Code Online (Sandbox Code Playgroud)

谷歌上搜索这个问题我发现了一篇关于注入的好文章,但没有提到我曾经尝试过的内容....
有人可以向我解释或者提供一些关于我刚用过的注入命令的信息吗?

ruby ruby-on-rails

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

Rails 4,capistrano 3,delayed_job - 在其中一台服务器上找不到bin/delayed_job

当我部署到pre服务器时,一切都很好.但如果我尝试部署到staging服务器,我会收到此错误:
bundler: command not found: bin/delayed_job

档案 - config/deploy/staging.rb

set :rails_env, 'staging'  
set :eager_load, :true  
set :unicorn_rack_env, 'staging'  
role :app, %w{deploy@x.x.x.x}  
role :web, %w{deploy@x.x.x.x}  
role :db, %w{deploy@x.x.x.x}  

set :rvm_type, :auto                    # Defaults to: :auto  
set :rvm_ruby_version, '2.1.2'  

set :rails_env, 'staging'  
set :eager_load, :true    
role :app, %w{deploy@x.x.x.}  
role :web, %w{deploy@x.x.x.}  
role :db, %w{deploy@x.x.x.}  
set :rvm_type, :auto                    # Defaults to: :auto  
set :rvm_ruby_version, '2.1.2'  
set :deploy_to, '/var/www/app'  
server 'x.x.x', user: 'deploy', roles: %w{web app} , port: 222  
set …
Run Code Online (Sandbox Code Playgroud)

delayed-job ruby-on-rails-4 capistrano3

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

在osx上安装ruby 2.3时出错

我尝试在osx上安装2.3 ruby​​时遇到错误我已经将rvm更新为stable 1.27.0

然后我正在尝试安装 2.3

% rvm install 2.3
ruby-2.3.0 - #removing src/ruby-2.3.0 - please wait
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.11/x86_64/ruby-2.3.0.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.
Requirements installation successful.
Installing Ruby from source to: /Users/password123/.rvm/rubies/ruby-2.3.0, this may take a while depending on your cpu(s)...
ruby-2.3.0 - #downloading ruby-2.3.0, …
Run Code Online (Sandbox Code Playgroud)

macos rvm ruby-2.3

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

paperclip找不到"file.jpg"rails 4的处理程序

我在我的一个应用程序中设置paperclip gem时遇到问题.
No handler found for尝试保存上传的文件时收到错误消息.

我做过的事情

当我尝试在我的控制器中执行时,我Order.create params[order]得到错误

找不到"file.jpg"的处理程序

当我查看order[file]param时,我发现它是一个字符串file.jpg(上传文件的名称).

ruby ruby-on-rails image-uploading paperclip ruby-on-rails-4

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

rspec 和 gem 子弹测试环境失败

我想rspec找到 gem bullet所有的弱点。我正在做如下:

宝石文件

group :development, :test do
  gem "bullet"
end
Run Code Online (Sandbox Code Playgroud)

配置/环境/test.rb

  config.after_initialize do
    Bullet.enable = true
    Bullet.rails_logger = true
    Bullet.raise = true # raise an error if n+1 query occurs
  end
Run Code Online (Sandbox Code Playgroud)

规范/spec_helper.rb

    if Bullet.enable?
    config.before(:each) do
      Bullet.start_request
    end

    config.after(:each) do
      Bullet.perform_out_of_channel_notifications if Bullet.notification?
      Bullet.end_request
    end
  end
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行时rspec出现错误

% bundle exec rspec
/spec/spec_helper.rb:24:in `block in <top (required)>': uninitialized constant Bullet (NameError)
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题

ruby rubygems rspec ruby-on-rails

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

在javascript中使用标签

你能解释一下如何在与break:switch,while,do和for交互的语句中使用标签.

请举例说明.

javascript

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

在php中通过eval分配变量的好处?

美好的一天!目前我正在学习一门课程,其中包含以下内容:

if( $something) {  eval ('$actualValue = &$this->'.$value.';'); }
Run Code Online (Sandbox Code Playgroud)

你可以向我解释使用eval并在没有eval的情况下编写它的优点和缺点(只需定期通过php分配值)

更新1

对不起,但我刚刚在课程的其他部分看到了使用eval的更完整版本:

if( $something) {  
eval ('$actualValue = &$this->'.$value.';'); 
if(isset($actualValue)) { 
//some code
}
}
Run Code Online (Sandbox Code Playgroud)

它现在更清楚......但仍然存在一个问题:为什么不在没有评估的情况下做到这一点......只是不明白.但仍然感谢大家的答案和链接!

php eval

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

如果网页被刷新,如何停止if($ this - > _ request-> isPost())?

祝你好运!我有一个问题:在网页上有一个表格.它的行动指向自己.但是在提交表单后,如果网页被非法刷新,您将再次提交表单!这怎么可以避免?没有找到任何解决方案.

HTML代码:

<form method="POST" action="" name="new_branch" onsubmit="return validateForm()"> blah blah blah </form>

在服务器端

 if($this->_request->isPost()) { //code here }
Run Code Online (Sandbox Code Playgroud)

你如何"重置"帖子?

php zend-framework

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

rails未定义的方法'cashes_page'

美好的一天,您能帮我解决这个问题吗:

我添加到了store_controller

cashes_page :index
Run Code Online (Sandbox Code Playgroud)

application.rb

config.action_controller.perform_caching = true
Run Code Online (Sandbox Code Playgroud)

application_controller.rb

include ActionController::Caching
Run Code Online (Sandbox Code Playgroud)

我得到 undefined method 'cashes_page' for StoreController:Class

ruby-on-rails

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

使用Ruby的Threesum算法

问题是 - 有多少三个数字退出(提供的)总和为零?

我想知道,如何在ruby中实现这种强力方法(下面)?这方面的主要方面是:在for循环的地方使用什么更好?次?a - 是整数数组,即提供的数据

int N = a.length;
int count = 0;
for(int i = 0; i<N; i++)
  for(int j = i+1; j<N; j++)
    for(int k = j+ 1; k<N; k++)
      if (a[i] + a[j] + a[k] == 0 )
        count++;
return count;
Run Code Online (Sandbox Code Playgroud)

ruby algorithm

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

Simple_form多对多关联方法不显示正确的标签

我在显示与simpleform的多对多关联时遇到问题.
我有一个Shop模型,Product模型和ShopProduct模型,它们将它们连接在一起.所以`shop - shopproduct - product如果我以我的形式使用:

<%= f.association :shop_products, as: :check_boxes%>  
Run Code Online (Sandbox Code Playgroud)

我得到这个代码

    <input checked="checked" class="check_boxes optional" id="shop_shop_product_ids_2"
 name="shop[shop_product_ids][]" type="checkbox" value="2">  
    #&lt;ShopProduct:0x007f59d47b6be8&gt;</label>
Run Code Online (Sandbox Code Playgroud)

如果我使用 label_method: :product_name我得到一个错误
undefined methodproduct_name'为#<_ ShopProduct:0x007f59d474dff8>

在这种情况下如何显示正常信息?

many-to-many ruby-on-rails simple-form

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