小编Jon*_*fer的帖子

是否已弃用Rails group_by?

我有一个我想要分组的数组,看起来'group_by'功能对我的情况来说是好的.

http://apidock.com/rails/Enumerable/group_by

我在Rails 3.2.13中使用它.

grouped_array = my_array.group_by(&:my_function)

# Assume run 'my_function' have result1 on element1, element3 and result2 on element2, element4, then: 
    # grouped_array = {
    #    result1 => [element1, element3],
    #    result2 => [element2, element4],
    #    ...
    # }
Run Code Online (Sandbox Code Playgroud)

但我发现它在4.0.2中被弃用了.

我应该使用哪种功能?

ruby ruby-on-rails

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

编译错误:"具有多个子句和默认值的定义需要函数头"

我正在使用以下代码,试图Étude 3-1: Pattern MatchingÉtudes为Elixir的书中解决.

16   def area(:rectangle, a \\ 1, b \\ 1) do
17     a * b
18   end
19
20   def area(:triangle, a, b) do
21     a * b / 2.0
22   end
23
24   def area(:shape, a, b) do
25     a * b * :math.pi()
26   end
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

** (CompileError) geom.ex:20: definitions with multiple clauses and default values require a function head.

错误消息后面有一个解释:

Instead of:

    def foo(:first_clause, b \\ :default) do ... end …
Run Code Online (Sandbox Code Playgroud)

functional-programming elixir

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

太多年的选择

从Rails 3.0x升级到3.2.11后,我收到以下错误:

There're too many years options to be built. Are you sure you haven't mistyped something? You can provide the :max_years_allowed parameter
Run Code Online (Sandbox Code Playgroud)

码:

<%= f.date_select :to,
    :start_year => Time.now.year - 80,
    :discard_day => true,
    :include_blank => true %>
Run Code Online (Sandbox Code Playgroud)

我还尝试包含:max_years_allowed参数但没有成功,我该如何解决这个问题?

forms date ruby-on-rails-3.2

5
推荐指数
0
解决办法
584
查看次数

不推荐使用`post_via_redirect`,它将在Rails 5.1中删除

我正在阅读Rails教程书和第8章,当运行bin/rails测试时,我收到了以下消息:

 DEPRECATION WARNING: `post_via_redirect` is deprecated and will be removed in Rails 5.1. Please use follow_redirect! manually after the request call for the same behavior.
Run Code Online (Sandbox Code Playgroud)

生成此消息的代码是test/integration/user_signup_test.rb:

      test "valid signup information" do
        get signup_path
        assert_difference 'User.count', 1 do
          post_via_redirect users_path, user: { name:  "Example User",
                                        email: "user@example.com",
                                        password:              "password",
                                        password_confirmation: "password" }
        end
        assert_template 'users/show'
      end
Run Code Online (Sandbox Code Playgroud)

我如何解决它?

testing ruby-on-rails rspec-rails railstutorial.org ruby-on-rails-5

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

在运行带节点的程序时检查是否给出了ARGV

运行带节点的程序时:

node test.js
Run Code Online (Sandbox Code Playgroud)

你怎么检查程序是否ARGV在运行时给出node test.js --example?到目前为止我尝试的是以下内容:

function say(input){
    console.log(input);
}

if(process.argv[1] !== '')
{
    say('false');
}
else {
    say('success');
}
Run Code Online (Sandbox Code Playgroud)
if(process.argv[1] === null)
{
    say('false');
}
else {
    say('success');
}
Run Code Online (Sandbox Code Playgroud)

然而,第一个解决方案不会输出else,第二个解决方案只输出,NUL is not defined所以我想的是我在编码时犯了一些错误?

javascript argv node.js

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

array.push是重新分配的形式吗?

我正在一个包含多个JavaScript文件的项目中,并且我现在正在做的一部分工作是迁移现有代码以使用更新的ES6 +功能,并确保我们遵守AirBnB Eslint规则

因此,在这种情况下,这是特定的情况:

let meta = [a.platform];
Run Code Online (Sandbox Code Playgroud)

在其下方:

meta.push(a.browserName ? a.browserName : 'any');
Run Code Online (Sandbox Code Playgroud)

因此,现在,短毛猫给了我一个警告:“永不重新分配元数据。使用const代替”


我知道那meta = somethingNew将是重新分配变量。但是在这种情况下,此变量与创建时的变量是否也有所不同?

或者,使其更加清晰

我可以使用const定义将接收新项目的数组吗?如果没有,为什么?

另外,如果不是:为什么棉短绒会发出警告?

javascript memory-management lint ecmascript-6 eslint-config-airbnb

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

如何减少刷新Terraform状态所需的时间?

我使用的公司的大多数AWS基础设施都是使用Terraform描述和管理的。

我们有几种不同的服务,包括容器化后端和CDN前端。

从Route53域和名称空间到ELB,ECS和CloudFront,正在发生很多事情。

当前发生的问题之一是,主要由于Route53 DNS,检查,刷新和验证地形状态需要很长时间。

这是我们要解决的问题:

如何大幅减少刷新/检查tf状态所需的时间?

显然,将其移动到单独的存储库中不是一个好主意,因为这将使所有与Route53相关的变量无法访问或可能已过时。

dns infrastructure amazon-route53 terraform terraform-provider-aws

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

Rails日期与Date.today相比

我在Date格式中有一个birth_date变量.我想将它与Date.today进行比较,如下所示.问题是它回来是假的,因为它想要比较年份.这是一个生日,所以我不关心今年只是想看看birth_date(月和日)是否等于Date.today.day.month.

有任何想法吗?

bdays = Soldier.find(:all, :conditions => ["birth_date LIKE ?", Date.today] )
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails date conditional-statements

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

将目录重定向到子域

我的域名指向Heroku中的Rails应用程序,例如,当您想要访问某些视频时,您将拥有一个URL,例如:

http://codigofacilito.com/video/W53XHWkbz34

我们需要将该应用更改为子域,因此更新后的版本为:

http://videos.codigofacilito.com/video/W53XHWkbz34

我想知道的是:

有没有办法通过使用.htaccess文件将人们重定向到子域视频的新网址.

.htaccess redirect

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

如何将prettier-js.el整合到spacemacs中

我想在spacemacs工作更漂亮.

(prettier-js :location (recipe :url "https://raw.githubusercontent.com/prettier/prettier/master/editors/emacs/prettier-js.el" :fetcher url))有点工作,但然后在消息我看到

Contacting host: raw.githubusercontent.com:443
Wrote /Users/travis/.emacs.d/.cache/quelpa/build/prettier-js/prettier-js.el
File: /Users/travis/.emacs.d/.cache/quelpa/build/prettier-js/prettier-js.stamp
Error getting PACKAGE-DESC: (search-failed ;;; prettier-js.el ends here)
Cannot load prettier-js
Run Code Online (Sandbox Code Playgroud)

我不知道有足够的emacs知道PACKAGE-DESC的功能,或者我是否需要它来加载更漂亮.

我试图在私有层中执行此操作

文档说:

将其添加到您的init

(require 'prettier-js)
(add-hook 'js-mode-hook
          (lambda ()
            (add-hook 'before-save-hook 'prettier-before-save)))
Run Code Online (Sandbox Code Playgroud)

我想我应该有类似的东西:

(defun myJS/post-init-prettier-js ()
  "Initialize prettier-js"
  (use-package prettier-js)
  :defer t
  :init
  (progn
    (add-hook 'before-save-hook 'prettier-before-save)
    )
  )
Run Code Online (Sandbox Code Playgroud)

在我的图层中

javascript emacs code-editor spacemacs prettier

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