Ruby 如何设计多个用户表单和模型

Ruby 如何设计多个用户表单和模型,ruby,ruby-on-rails-3,forms,model,ruby-on-rails-3.1,Ruby,Ruby On Rails 3,Forms,Model,Ruby On Rails 3.1,我有一个网站,人们可以在那里查阅附近餐馆的菜单 作为一家餐厅,你可以注册并进入菜单。我应该如何设计模型 class User < ActiveRecord::Base has_one :venue class Venue < ActiveRecord::Base has_many :menus 或者我应该在场馆模型中存储所有电子邮件、密码等吗 下一个问题是注册表格。对于用户和场馆模型,我必须通过一个表单创建多个模型。不要认为这对用户很友好 最后一个问题:我还希望有一个普通的

我有一个网站,人们可以在那里查阅附近餐馆的菜单

作为一家餐厅,你可以注册并进入菜单。我应该如何设计模型

class User < ActiveRecord::Base
  has_one :venue
class Venue < ActiveRecord::Base
  has_many :menus
或者我应该在场馆模型中存储所有电子邮件、密码等吗

下一个问题是注册表格。对于用户和场馆模型,我必须通过一个表单创建多个模型。不要认为这对用户很友好

最后一个问题:我还希望有一个普通的用户可以给餐馆和其他东西评分。我认为这会干扰用户/场馆模型方法

你觉得怎么样?你会怎么做


提前感谢

听起来你已经用你的第三个问题回答了你的第一个问题-如果你想拥有与场馆无关的用户,你需要将这两个模型分开,否则这会干扰你拥有不同类型用户的愿望,至少有能力干净地做到这一点。如果将它们分开,一些用户可以与场馆餐厅所有者关联,而另一些用户不能与常规用户关联。在您的情况下,常规用户的场地将为零

一个注意事项-have_One和belown_to之间的区别并不总是直观的,至少对我来说不是,你可以查看以确保你使用的是合适的

如果有很多功能只适用于餐厅所有者,那么您可以从另一个模型继承一个模型,以避免基类混乱,即有一个用户模型和一个从它继承的所有者模型,或者类似的东西

就注册表单而言,听起来您希望创建一个表单,允许餐厅所有者输入创建其用户和场地的信息。您可以使用它-链接引用Rails2.3,但我在Rails3项目中使用了此功能,所有功能都按照宣传的那样工作