Rails灯具 - 标识符是否可以以数字结尾?

时间:2013-12-06 13:38:36

标签: ruby-on-rails ruby testing fixtures

我遇到了以下情况:我的夹具中有很多像寄存器,我试过编号:

# nutrients.yml
nutrient_1:
  name: Protein

nutrient_2:
  name: Fat

# daily_intakes.yml
daily_intake_1:
  nutrient: nutrient_1
  sex: m
  amount: 200g

daily_intake_2:
  nutrient: nutrient_1
  sex: f
  amount: 100g

当我尝试运行rake test:units时,我遇到以下错误:

>  1) Error: ArticleTest#test_relationships:
> ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column
> 'nutrient' in 'field list': INSERT INTO `daily_intakes` (`nutrient`,
> `amount`, `sex`, `id`) VALUES ('nutrient_1', '200', 'm', 787678763)

我无法理解为什么Rails不引用营养素1而不是将其用作字符串。

所以,我试过了:

# nutrients.yml
a:
  name: Protein

b:
  name: Fat

# daily_intakes.yml
daily_intake_1:
  nutrient: a
  sex: m
  amount: 200g

daily_intake_2:
  nutrient: a
  sex: f
  amount: 100g

它有效!但我想保留数字......任何想法?

1 个答案:

答案 0 :(得分:0)

奇怪,有趣,因为我没有看到这个问题。为什么不这样命名:

nutrient_one
nutrient_two

或没有下划线

nutrient1
nutrient2