小编Ale*_*reu的帖子

Rails中的助手 - 构建html字符串时最好的方法是什么?

我通常会这样写助手:

  def bloco_vazio (texto = "", btn = "", args={})
      titulo = content_tag :h3, "Vazio!" 
      p = content_tag :p, texto
      content_tag :div, (titulo + tag(:hr) + p + btn ), args
  end
Run Code Online (Sandbox Code Playgroud)

但我经常看到人们使用其他方法,如:

 def flash_notice
    html = ""
    unless flash.empty?
      flash.each do |f|
        html << "<div class='alert alert-#{f[:type].to_s}'>"
        html << "<a class='close' data-dismiss='alert'>×</a>"
        html << f[:text].to_s
        html << "</div>"
      end
    end
    html
 end
Run Code Online (Sandbox Code Playgroud)

要么

def a_helper (some_text ="")
  %{ <h3>some title</h3>
      <p>#{some_text}</p>    
  }%
end
Run Code Online (Sandbox Code Playgroud)

我过去使用了这两个持续时间并遇到了一些问题,然后开始使用content_tag和tag helpers,即使我仍然需要使用该.html_safe方法.

是否有建立帮助者的标准方法?

ruby-on-rails

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

如何使用Chef设置环境变量?

这是一个类似的问题,但无法管理它:我想简单地设置一个env变量,然后使用它:

execute "start zookeeper" do
    cwd "/opt/zookeeper-3.4.5/bin"
    command "./zkServer.sh start"
    environment "JVMFLAGS" => "-Xmx#{heap_jvm} -Xms#{heap_jvm}"
    user "root"
    action :run
end
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用bash "export JVMFLAGS='-blabla'"但仍然运行sh而没有设置变量.是否存在阻止我的sh脚本检查变量的问题?我可以像模板一样使用sh并替换JVMFLAGS的发生...但我想检查是否有更好的解决方案..

ruby chef-infra

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

测试CSS:使用Jasmine进行悬停

所以我有一个简单的div,当我盘旋时会改变我的css中定义的背景:

.my-class{
    background-color:#FFFFFF;
}
.my-class:hover{
    background-color:#F2F2F2;
}
Run Code Online (Sandbox Code Playgroud)

我试图用茉莉花测试这种行为,但测试仍然失败:

it "Shadows .soboo-drop-item when hover", ->
      $('.my-class:first').trigger('mouseover')
      expect($('.my-class:first').css('background-color')).toBe("#F2F2F2")
Run Code Online (Sandbox Code Playgroud)

预期'rgba(0,0,0,0)'为'#F2F2F2'

$('.my-class:first').trigger('mouseover')在控制台上运行似乎不起作用 - 背景颜色不会改变.

注意:Hover JQuery行为确实响应 $('#something').trigger('mouseover')

我使用Jasminerice,其中包括Jasmine-JQuery

Jasmine-JQuery有一个测试css的方法:

expect($('.my-class:first')).toHaveCss({"background-color": "#F2F2F2"})
Run Code Online (Sandbox Code Playgroud)

这给了我:

Expected '<div class="soboo-service my-class"
service="google"><img
src="http://localhost:3000/img/bookmark-services/google.gif"> Google
Book...</div>' to have css { background-color : '#F2F2F2' }
Run Code Online (Sandbox Code Playgroud)

如何检查这个背景?在此先感谢=)

javascript jquery jasmine

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

Chef运行期间的AWS OpsWorks Layer

我想将自定义JSON传递给我的厨师运行,但显然这只能用于整个堆栈.我可以使用JSON上的图层名称/ ID和所需的数据,但是我如何检查厨师正在努力实施的图层?

amazon-web-services chef-infra

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