小编Kam*_*i81的帖子

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

为什么Ruby的Date类会自动加载但是DateTime不是?

使用IRB,为什么Date&Time类会自动加载,但DateTime不是?我必须这样require 'date',这对我没有意义,因为我认为Date和DateTime都使用标准库'date'

ruby-1.9.2-p290 :001 > Date
 => Date
ruby-1.9.2-p290 :002 > Time
 => Time
ruby-1.9.2-p290 :003 > DateTime
NameError: uninitialized constant Object::DateTime
    from (irb):3
    from /Users/kamilski81/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `<main>'
ruby-1.9.2-p290 :004 > require 'date'
 => true
ruby-1.9.2-p290 :005 > require 'date'
 => false
ruby-1.9.2-p290 :006 > DateTime
 => DateTime
Run Code Online (Sandbox Code Playgroud)

ruby

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

class_eval,class_exec,module_eval和module_exec之间有什么区别?

我正在阅读Module文档,但似乎无法理解它们的差异,哪些应该在哪里使用.

有什么eval不同exec

ruby

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

如何在两个字段中对ruby/rails进行排序?

例如,我想按game_date排序,然后如果日期相同,按团队排序?最好的方法是什么?

@teams = @user.teams
@games = @teams.reduce([]) { |aggregate, team| aggregate + team.games}.sort_by(&:game_date)
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

如何阻止标签在JetBrains IntelliJ内重新排序?

每次我点击IntelliJ里面的某个标签时它重新排序所有标签,我发现这是非常烦人的,因为我学习了标签的顺序,然后它切换了?

intellij-idea

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

需要帮助来理解:通过Rails的has_one/has_many的source_type选项

在Rails 3.1中,文档说

"4.2.2.13:source_type

:source_type选项指定has_one:through关联的源关联类型,该关联通过多态关联进行."

我刚读过:源解释但仍然没有得到source_type用于什么?

ruby-on-rails

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

如何在rails中指定和验证枚举?

我目前有一个模型Attend将有一个状态列,这个状态列只有几个值.STATUS_OPTIONS = {:yes,:no,:maybe}

1)我不确定在用户插入Attend之前我如何验证这一点?基本上是java中的枚举,但我怎么能在rails中做到这一点?

validation activerecord ruby-on-rails

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

如何在RSpec中设置request.referrer?

我试图避免使用我的session[:referred_by],并想使用request.referrer.但是,我的RSpec测试失败,因为TestRequest它没有存储request.referrer

所以我必须执行以下操作才能使Rspec测试工作.有没有办法让它变得更好:

referrer = request.referrer ? request.referrer : '/'
redirect_to referrer, :alert => error_message
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails

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

NameError:未定义的局部变量或方法`logger'

当我运行'script/server'时一切正常,但是当我运行我的单元测试(rake test:units)时,我得到下面的错误,我不知道如何解决这个问题.

错误

NameError: undefined local variable or method `logger' for #<GiveawayEligibleMemberTest:0x10477dff8>
    /Users/kamilski81/Sites/pe/vitality_mall/vendor/rails/actionpack/lib/action_controller/test_process.rb:471:in `method_missing'
    /Users/kamilski81/Sites/pe/vitality_mall/lib/update_giveaway_eligible_members.rb:17:in `is_valid_checksum?'
    /Users/kamilski81/Sites/pe/vitality_mall/test/unit/giveaway_eligible_member_test.rb:26:in `test_that_checksum_is_valid'
    /Users/kamilski81/Sites/pe/vitality_mall/vendor/rails/activesupport/lib/active_support/testing/setup_and_teardown.rb:60:in `__send__'
    /Users/kamilski81/Sites/pe/vitality_mall/vendor/rails/activesupport/lib/active_support/testing/setup_and_teardown.rb:60:in `run'
Run Code Online (Sandbox Code Playgroud)

我尝试过:

class Test::Unit::TestCase
  RAILS_DEFAULT_LOGGER = Logger.new(STDOUT)
  RAILS_DEFAULT_LOGGER.level = Logger::WARN

  logger = Logger.new(STDOUT)
  logger.level = Logger::WARN
end
Run Code Online (Sandbox Code Playgroud)

以下是使用我的记录器的代码:

def is_valid_checksum?(csv_arr)
  expected_row_count = csv_arr[0][3].to_i
  logger.debug "Expected record count: #{expected_row_count}"
  actual_row_count = csv_arr.nitems - 1
  logger.debug "Actual record count: #{actual_row_count}"
  checksum_valid = false
  if expected_row_count == actual_row_count
    logger.debug "Checksum is valid"
    checksum_valid = true
  end

  return checksum_valid
end
Run Code Online (Sandbox Code Playgroud)

但这仍然无法解决错误

ruby logging ruby-on-rails

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

什么是ruby/rails的工人?

我来自Java世界,并在ruby/rails世界中继续听到这个术语"工人".它是什么?一个帖子?

ruby ruby-on-rails

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