1

我是 Rails 新手,我想确保从正确的角度开始。所以我需要澄清一下。

我需要的注册字段将是用户名、电子邮件、密码、生日、邮政编码。

所以我将运行“rails 生成脚手架用户名:字符串电子邮件:字符串,生日:字符串邮政编码:字符串”。然后,我将在 user_spec 文件中添加一个 password_digest 列。

我将允许用户在从他们的用户 CP 注册后输入的个人资料字段是:姓名、性别、种族(可选择多个)、电子邮件、密码、生日、邮政编码(不在美国,然后列出城市、国家) ,教育,宗教,政治,儿童,身高,用户吸烟,用户饮酒,职业和用户关于我的部分。

我需要确认的是我应该为所有这些信息生成脚手架(用户获取所需信息,然后为其他配置文件信息创建另一个名为 UserProfile 的脚手架)还是应该只使用 user_spec.rb 中的列来获取所有这些信息?

4

3 回答 3

1

这个想法是将所有字段保留在一个表中。这可以使用迁移轻松完成。

添加所有字段后,包括用户名、电子邮件、密码、生日、邮政编码、姓名、性别、种族(可选择多个)、教育、宗教、政治、儿童、身高、用户是否吸烟、用户是否饮酒、职业和用户关于我部分。

然后,您可以在登录后和登录前暗示条件,以根据您的需要显示/隐藏字段。

这样做的一般方法是:

if current_user

//show the fields after login
else
//show the fields before login
end

请注意,这是您如何做到这一点的一般想法。但是,您可以在任何视图的代码中的任何位置使用它。

于 2013-02-11T14:44:15.637 回答
0

实际的数据库列将在数据库迁移文件中定义。您不需要在模型定义中全部定义它们。如果您使用描述的生成器为模型构建脚手架,您将找到一个迁移文件,db/migrations其中创建了您描述的列。

听起来您将“脚手架”视为实际代码,这令人困惑。相反,将脚手架视为定义模型代码、控制器代码和视图代码的创建的蓝图。你不生成脚手架;您使用脚手架生成模型、视图和控制器。

于 2013-02-11T14:35:44.553 回答
0

我对 Rails 很陌生,但我不推荐 Scaffold 选项。您最好从命令行使用所需字段生成用户模型和用户控制器,然后根据需要创建视图。

脚手架可能会给你比你需要的更多,并导致未来的混乱/问题。

您应该查看 Michael Hartl 的“通过示例学习 Rails”(作为电子书免费提供!)。即使您不想阅读它,他也会指导读者构建 Twitter 应用程序,我认为阅读其中的一些章节会对您有所帮助。祝你好运!

于 2013-02-11T14:36:36.800 回答