草庐IT

built_Value

全部标签

ruby-on-rails - rails 3 : validates_presence_of validation errors on default value and in associated model

我有一个基本的发票设置模型:发票、项目、行项目。#invoice.rbclassInvoice:destroyvalidates_presence_of:statusbefore_save:default_valuesdefdefault_valuesself.status='sent'unlessself.statusendend#item.rbclassItemtrueend模型中还有更多内容,但为了简单起见,我只介绍了以上内容。我收到以下错误:2errorsprohibitedthisinvoicefrombeingsaved:Lineitemsinvoicecan'tbebla

ruby - 为什么这个 Ruby 方法会返回 "void value expression"错误?

我有这个简单的方法defis_palindrome?(sentence) raiseArgumentError.new('expectedstring')unlesssentence.is_a?(String) safe_sentence=sentence.gsub(/\W+/,'').downcase returnsafe_sentence==safe_sentence.reverseendis_palindrome?"rails"当我运行它时,第4行出现错误voidvalueexpression,这是返回语句这是怎么回事? 最佳答案

ruby - 如何将 ruby​​ hash 转为 value 成为指向一组旧键的键?

我有这样的哈希:t={"4nM"=>"Triangle","I40"=>"Triangle","123"=>"Square"}我想把它变成像这样的散列:{"Triangle"=>["4nM","I40"],"Square"=>["123"]}执行此操作的最佳方法是什么?我从group_by开始,但是代码变得有点复杂....这是我做的:t.group_by{|k,v|v}.map{|type,group|{type=>group.flatten.reject{|x|x==type}}} 最佳答案 h={"4nM"=>"Triangle

ruby - 算术在 ruby 中给出了意想不到的值(value)

这是为什么:((256-438)^2)+((227-298)^2)当它应该是38165时给我-253? 最佳答案 ^是按位异或运算符(XOR)**为指数运算符,使用:((256-438)**2)+((227-298)**2) 关于ruby-算术在ruby中给出了意想不到的值(value),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5906080/

ruby-on-rails - heroku 上的 Rails : after push, 得到 "PG::UniqueViolation: ERROR: duplicate key value violates unique constraint"

这已经被问过好几次了(here和here等等)。每次我将我的Rails应用程序推送到Heroku时(至少在过去的几个月里,我会说),我都必须使用熟悉的方法重置我的keyActiveRecord::Base.connection.tables.each{|t|ActiveRecord::Base.connection.reset_pk_sequence!(t)}咒语。否则,当我尝试创建新记录时,我会遇到这样的postgresql故障:PG::UniqueViolation:ERROR:duplicatekeyvalueviolatesuniqueconstraint"users_clie

ruby - 野切 : List attributes name and value?

我想解析我的XML文件。我需要计算属性并获得它们的名称和值...require'nokogiri'f=File.open("file.xml")doc=Nokogiri::XML(f)f.closepdoc.xpath("/a/@*").count我想要属性列表。我试过了:doc.attributes.eachdo|name,attr|pname=>attr.valueend但是错误:in`':undefinedmethod`attributes'for#(NoMethodError)我不知道为什么...Blabla或者我希望能够有名字。喜欢:putsdoc.xpath("/a/@*"

ruby - Ruby 的 $!仅在救援区 block 中有值(value)?

beginraise'foo'rescueputs$!.inspect#=>#ensureputs$!.inspect#=>nilendputs$!.inspect#=>nil四处搜索,但没有找到明确的答案。只是想确认$!的生命周期(?),它是否只在rescueblock中保持值(value)? 最佳答案 $!在救援block中有错误,如果没有救援block,则在确保block中有错误:beginraise'foo'ensureputs$!.inspect#=>#end$!在其他地方的值为nil。

ruby - 是{ 'symbol name' : "some value" } valid Ruby 2 syntax for Hashes?

TL;DR——问题{'symbolname':5}和{"symbolname":5}是否有效且定义明确的Ruby2哈希语法?6种哈希符号,其中2种未知在Ruby2中,以下Hash文字符号是等效的:{:my_key=>5}{my_key:5}{:'my_key'=>5}{:"my_key"=>5}第一行是通用的哈希文字表示法(也适用于非符号键),键使用默认的符号文字表示法。第二行是Ruby2引入的新的简写符号Ruby1.9用于以符号为键的哈希。第三行同样是通用的Hash字面量表示法,键带有替代的Symbol字面量表示法。(如果您需要在符号名称中包含空格或其他花哨的字符,则此替代符号文字表

ruby - 从 ruby​​ 的独家范围中获得最大值(value)的最快方法

好吧,假设你有一个非常大的ruby范围。我想找到一种方法来获得范围内的最大值。Range是排他性的(用三个点定义),这意味着它的结果中不包括结束对象。它可以由整数、字符串、时间或任何响应#的对象组成。和#succ.(这是对Range中开始/结束对象的唯一要求)这是排他范围的示例:past=Time.local(2010,1,1,0,0,0)now=Time.nowrange=past...nowrange.include?(now)#=>false现在我知道我可以做这样的事情来获得最大值:range.max#=>returns1secondbefore"now"usingEnumera

ruby - 我怎样才能使用 Gemfile 的 :path argument to reference local gems in development with a value that is OS agnostic?

我正在编写一个Gemfile来帮助开发我的团队正在创建的一些gem。我知道Gemfile允许使用:path参数来引用包含.gemspec文件的本地目录:gem"my_gem",:path=>"../Ruby_Libs/my_gem"但是,我的团队成员在编写代码时使用不同的操作系统(OSX、WinXP、Win7)。所以我的问题是如何使用Gemfile的:path参数来引用开发中的本地gem,其值与操作系统无关? 最佳答案 使用File.join('..','Ruby_Libs','my_gem'')而不是"../Ruby_Libs/m