我刚刚进入JavaScript,我正试图围绕原型继承.似乎有多种方法可以达到同样的效果,所以我想看看是否有任何最佳实践或理由以一种方式做事.这就是我在说的:
// Method 1
function Rabbit() {
this.name = "Hoppy";
this.hop = function() {
console.log("I am hopping!");
}
}
// Method 2
function Rabbit() {}
Rabbit.prototype = {
name: "Hoppy",
hop: function() {
console.log("I am hopping!");
}
}
// Method 3
function Rabbit() {
this.name = "Hoppy";
}
Rabbit.prototype.hop = function() {
console.log("I am hopping!");
}
// Testing code (each method tested with others commented out)
var rabbit = new Rabbit();
console.log("rabbit.name = " + rabbit.name);
rabbit.hop();
Run Code Online (Sandbox Code Playgroud)
所有这些似乎都具有相同的效果(除非我遗漏了一些东西).那么一种方法优于另一种方法吗?你怎么做呢?
我是ActiveRecord协会的新手.我正在草拟一个应用程序,该应用程序可以跟踪在一组用户中欠谁的钱.一个Expense模型和User模型似乎是自然的选择,我只是不知道如何界定两者之间的关系.例如,我想跟踪债权人("所有者")和每笔费用的债务人,但这实际上只是两个返回用户的外键.此外,每个用户可以有多种费用(作为债权人和债务人)我迄今为止对协会的最佳猜测是:
class Expense
# belongs_to or has_one here?
# Not sure about class => User syntax:
# need to alias to foreign keys that reference the same model
belongs_to :creditor, :class => User
belongs_to :debtor, :class => User
class User
# has_many expenses defines a creditor relationship (user owns expense)
# how to define debtor relationship? (belongs_to...?)
has_and_belongs_to_many :expenses
Run Code Online (Sandbox Code Playgroud)
我已经阅读了关于关联的Rails指南,但我仍然在外键和连接表上相当丢失.任何输入都非常感谢!
我正在构建一个Rails应用程序来跟踪组成员之间的费用/债务,让我们说一个家庭.到目前为止,我有群组,用户和费用的模型 - 基础知识.现在我正试图弄清楚群组和用户之间的关联.例如,一个组可以拥有许多用户,并且用户可以拥有/属于许多组,因此我使用连接表设置了HABTM关联.但我很困惑,因为一个集团也可以有一个所有者,也是一个用户.这就是我现在所处的位置:
class Group < ActiveRecord::Base
has_and_belongs_to_many :users
has_one :owner, :class_name => "User"
end
class User < ActiveRecord::Base
has_and_belongs_to_many :groups
end
Run Code Online (Sandbox Code Playgroud)
Group表上当前有一个owner_id字段,但是column users.group_id does not exist当我尝试执行任何涉及的操作时,我收到PostgreSQL错误group.owner.我很丢失 - 关于在同一模型中表示多个关联的最佳方式的任何想法?