我是Rails的新手,目前正在关注Michael Hartl的Ruby on Rails Tutorial。当我尝试在第2章:玩具应用程序结尾处的 app / models / user.rb 中添加这些最后一行时,我遇到了这个错误:
(错误)
UsersController #index中的NameError 未初始化的常量User :: FILL_IN
(代码)
class User < ActiveRecord::Base
has_many :microposts
validates FILL_IN, presence: true
validates FILL_IN, presence: true
end
很抱歉,如果这可能是拼写错误或语法错误,但有人可以帮我理解我做错了吗?
由于
答案 0 :(得分:1)
import java.util.Random;
public class RPS {
public static void main (String[] args) {
String hand = selectHand();
// do something using hand
System.out.println(hand);
}
private static String selectHand() {
String[] list = {"rock", "paper", "scissors"};
Random rand = new Random();
int x = rand.nextInt();
switch (x) {
case 0: return list[0];
case 1: return list[1];
case 2: return list[2];
}
return null; // you must return something everytime from non-void method
}
}
是占位符。
将FILL_IN
替换为您要验证的列的名称。示例如下:
FILL_IN
在模型中,上述代码将确保在保存新记录之前填充validates :title, presence: true
validates :description, presence: true
和title
列(字段)而不是description
(或更新记录)。
PS:这是示例,假设模型中存在
nil
和title
字段。这些必须替换为您希望验证其存在的感兴趣的列的名称(在这种情况下将为description
和name
。)
希望这足够说明并且有用。
<强>更新强>
查看exercise here。这一点更加明显。 :)
答案 1 :(得分:0)
正确的解决方案:
class User < ApplicationRecord
has_many :microposts
validates :name, presence: true
validates :email, presence: true
end