我正在学习rails上ruby的基础知识,我想做一些简单的查询,但我有一个疑问:
我会有这些模型:
class Client < ActiveRecord::Base
  has_one :address
  has_many :orders
  has_and_belongs_to_many :roles
end
class Address < ActiveRecord::Base
  belongs_to :client
end
class Order < ActiveRecord::Base
  belongs_to :client, counter_cache: true
end
class Role < ActiveRecord::Base
  has_and_belongs_to_many :clients
end
Run Code Online (Sandbox Code Playgroud)
现在,我将使用scaffold生成所有的东西,我想知道是否必须直接将外键放在脚手架中,如:
rails generate scaffold Adress street:string number:integer client_id:integer
或者,当我创建这些关联然后迁移我的数据库时,它们将是隐含的?
我不知道我是否以最好的方式解释自己.
谢谢
ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-4
有人可以解释一下Order Crossover的工作原理吗?我将举出这个例子,我希望以一种通用的方式理解它.
父1 = 1 2 3 | 4 5 6 7 | 8 9
父2 = 4 5 2 | 1 8 7 6 | 9 3
解决方案是两个childreen:
儿童1 = 2 1 8 | 4 5 6 7 | 9 3
儿童2 = 3 4 5 | 1 8 7 6 | 9 2
我了解一些部分,但其他部分没有.
谢谢
昨天我问一个关于如何绘制一个边界框以保持内部形状以及如何拖放所选形状的问题.
第一个问题解决了.但我在移动形状方面遇到了一些麻烦.是否有任何特定的转换来移动jPanel周围的形状?
我有这个代码:
public boolean drag(MouseEvent e) {
    if(points.isEmpty()) //if point's vector is empty
        return false;
    if(!selected)
        return false;
    int x = e.getX(), y = e.getX();
    if (!dragging)
        lastMovePoint.setLocation(x, y);
    dragging = true;
    int deslocX = 0;
    int deslocY = 0;
    int oldX = -1;
    int oldY = -1;
    int size = points.size();
    for(int i = 0; i < size; i++) {
        oldX = lastMovePoint.x;
        oldY = lastMovePoint.y;
        deslocX = x - oldX;
        deslocY = y - oldY; …Run Code Online (Sandbox Code Playgroud)