Tag: ruby

Ruby中的默认值的可选参数

我想创建一个具有默认值的可选参数的函数 def my_function(a = nil, b=nil, c=500) end 并使用我想要指定的参数调用该函数 my_function(b=100) 我如何在Ruby 1.9.2中实现这一目标?

为什么我的BigDecimal对象初始化时出现意外的舍入错误?

在Ruby 2.2.0中,为什么: BigDecimal.new(34.13985572755337, 9) 等于34.0但是 BigDecimal.new(34.13985572755338, 9) 等于34.1398557 ? 请注意,我在64位计算机上运行它。

如何使用Watir :: Waiter :: wait_until强制Chrome等待?

我试图告诉我的watir脚本等待ajax注入的登录框打开。 我正在使用watir-webdriver,并在Chrome中进行测试。 我无法让wait_until工作,如下面(简化)脚本中所评论的那样。 require “rubygems” require “watir-webdriver” b = Watir::Browser.new(:chrome) site = “www.example.com” b.goto site puts “Click on Sign In button” b.link(:id, ‘btnLogin’).click puts “Waiting for the username/password dialog to show up” # Below line does *not* work # Throws this error: “uninitialized constant Watir::Waiter (NameError)” Watir::Waiter::wait_until { b.text_field(:id, ‘username’).exists? } # Below line does […]

Active Admin – 根据第一个下拉菜单Ruby on Rails刷新第二个下拉列表

我在Ruby on Rails上使用Active Admin Gem。 我有一个表单,我已选择类别和子类别,然后我必须填写数据。 所以我在sqlite中创建了两个在活动管理资源中添加的表。 每件事情都运行良好,但子类别的下拉不会根据选择的类别进行过滤。 我也是Ruby和RoR的新手。 我不知道在选择类别后如何刷新子类别的下拉列表。 我知道我可以从AJAX和javascript做到但我不知道在哪里编码? 此外,Active Admin中是否有任何特定的filter可以在没有ajax或javascript的情况下实现。 任何想法或帮助将受到高度赞赏。

从Sinatra内部召唤Sinatra

我有一个基于Sinatra的REST服务应用程序,我想从其中一个路由中调用其中一个资源,从而有效地组合一个资源。 例如 get ‘/someresource’ do otherresource = get ‘/otherresource’ # do something with otherresource, return a new resource end get ‘/otherresource’ do # etc. end 重定向不起作用,因为我需要对第二个资源进行一些处理并从中创建一个新的。 显然我可以a)使用RestClient或其他一些客户端框架或者b)构造我的代码所以其他资源的所有逻辑都在一个方法中然后调用它,但是,感觉如果我可以重新使用它会更清洁使用他们的DSL从Sinatra内部使用我的资源。

Ruby on Rails显示半个星级的小数等级,例如4.5

我可以查看5个星号,一个产品的评级为5,等级为4的4个星号等。但我想做的是用我的资产中的星星图像替换星号/图像/目录,如果评级为4.5,则显示半个星。 有办法做到这一点吗? 下面是我在application_helper.rb中的当前代码和index.html.erb中的视图。 application_helper.rb: module ApplicationHelper def render_stars(value) output = ” if (1..5).include?(value.to_i) value.to_i.times { output += ‘*’} end output end end index.html.erb: Star rating:

如何使用新的ruby(1.9)哈希语法从关联创建符号(哈希键)?

对不起,我甚至不确定如何提出这个问题..所以,如果你可以提出这个问题,我们将不胜感激。 # A. WORKS, but “stockroom” is hardcoded render partial: association.to_s.singularize + ”, locals: {stockroom: new_object} # B. WORKS, but uses old syntax render partial: association.to_s.singularize + ”, locals: {association.to_s.singularize.to_sym => new_object} # C. does NOT work render partial: association.to_s.singularize + ”, locals: {association.to_s.singularize.to_sym: new_object} # D. does NOT work ass = association.to_s.singularize.to_sym logger.debug “— […]

将字符串拆分为列表,但保留拆分模式

目前我按模式拆分字符串,如下所示: outcome_array=the_text.split(pattern_to_split_by) 问题是我分裂的模式本身总是被省略。 如何让它包含拆分模式本身?

ruby中groovy的链式属性是否有等效的空值预防?

Groovy的: 如果有my_object – >访问’name’并大写 my_object?.name?.capitalize() ruby的等价物是什么,以避免nil对象使用此工具访问属性? 谢谢

从ruby访问Javascript变量

将数据从Ruby传递到Javascript很容易,例如: function change_value(val){ alert (“”) } } 这将发送一个警报,其中包含存储在控制器中警报变量的数据。 但是我不知道它是如何在相反的方向上工作的,例如,如果我需要将一个元素id存储到一个控制器变量中: function change_value(element){ alert (“”) } } 真正的交易接下来,由***投降的代码应该是所需的javascript值(@billeable_qts是哈希): function change_value(product){ alert (“product: “) }