小编Adl*_*tos的帖子

Terraform:如果满足条件,则设置可选资源属性,否则不声明它

Terraform 上的一些资源支持可选属性。我有兴趣仅在满足条件时才声明和设置可选属性的值。否则,根本不要声明它。

我发现的所有建议都是基于声明属性并将其值设置为null如果条件不满足,而不是根本不声明属性。

我有办法做类似以下的事情吗?在伪代码中:

resource "some_resource" "this" {
  name = var.name

  if var.name == "some_name":
    some_optional_attribute = "some_value"
  else:
    pass  # do nothing, don't even declare the optional attribute
}
Run Code Online (Sandbox Code Playgroud)

请告诉我,提前谢谢!

conditional-statements terraform hcl terraform0.12+

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

Rails 控制器中 before_filters 的顺序和关注点

我有一个 Rails 问题定义如下:

module MyConcern
  extend ActiveSupport::Concern

  included do
    before_filter :filter_inside_concern
  end

  def filter_inside_concern
    # ...
  end
end
Run Code Online (Sandbox Code Playgroud)

before_filter在控制器层也有一个:

class MyController < ApplicationController
  before_filter :filter_inside_controller
end
Run Code Online (Sandbox Code Playgroud)

如果我包含MyConcerninside MyController,调用 before 过滤器的顺序是否取决于代码的排列方式?例如,如果我们有

class MyController < ApplicationController
  include MyConcern

  before_filter :filter_inside_controller
end
Run Code Online (Sandbox Code Playgroud)

filter_inside_concern之前是否被调用过filter_inside_controller(反之亦然)?

谢谢你!

ruby-on-rails before-filter actioncontroller ruby-on-rails-4 activesupport-concern

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

如何使用Capybara在Rails date_field表单助手中选择日期

我有一个预订搜索表单,其中包含以下date_field帮助程序:

<%= date_field(:reservation, :arrival_date) %>
Run Code Online (Sandbox Code Playgroud)

如何使用Capybara为此date_field标签选择特定日期?

我尝试select "2014-01-01", from: "reservation_arrival_date"了我的规范,但Capybara::ElementNotFound:在运行规范时遇到错误.

提前致谢!

ruby-on-rails form-helpers datefield capybara rspec2

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

在Ruby中动态填充对象的属性,其属性名称与散列键相同

我有以下哈希:

row = {:id => 1, :name => "Altus Raizen", :email => "altus@blarg.com"}
Run Code Online (Sandbox Code Playgroud)

现在我有一个Person与下面的键具有相同属性的Struct row:

Person = Struct.new(:id, :name, :email)
Run Code Online (Sandbox Code Playgroud)

我想Person使用row哈希中的值动态填充对象,如下所示:

person = Person.new
person.id = row[:id]
person.name = row[:name]
person.email = row[:email]
Run Code Online (Sandbox Code Playgroud)

上面的代码有效,但必须有一种更优雅的方式,即动态填充属性.我该怎么做呢?(实际上我有9个属性,因此通过考虑将值设置为其他属性(如电话,地址等),上面的代码变得更长并且更"丑陋".

ruby

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