我想删除大表中的列,但首先我要禁用读取和写入该列。如果尝试其中任何一个,则应引发异常。
执行此操作的一种方法是覆盖可以读取或写入该列的所有方法。例如,如果表def name
raise "posts.name column is disabled"
end
def name=
raise "posts.name column is disabled"
end
def read_attribute(column)
raise "posts.name column is disabled" if column.to_sym == :name
super
end
def write_attribute(column)
raise "posts.name column is disabled" if column.to_sym == :name
end
# Others???
有一列var r = new Random();
return new String("1234567890".OrderBy(x => r.Next()).Take(4).ToArray());
,我可以写
List<int> digits = new List<int>() { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Random ran = new Random();
string ranString = "";
for(int i = 0; i < 4; i++)
{
int index = ran.Next(0, digits.Count);
ranString += digits[index].ToString();
digits.RemoveAt(index);
}
但这很冗长,我怀疑它是否是可以访问该列的详尽方法列表。有没有更好的办法?我正在使用Rails 4.2。