我是Rails的新手,我想确保我从右脚开始。所以我需要澄清一下。
我需要的注册字段是用户名,电子邮件,密码,生日,邮政编码。
所以我将运行" rails生成脚手架用户名:string email:string,birthday:string zip code:string"。然后,我将在user_spec文件中添加一个password_digest列。
我将允许用户在从用户CP注册后输入的个人资料字段是:姓名,性别,种族(选择多个选项),电子邮件,密码,生日,邮政编码(不在美国,然后列出城市) ,国家),教育,宗教,政治,儿童,身高,用户吸烟,用户饮酒,事业和用户关于我的部分。
我需要确认的是我应该为所有这些信息生成脚手架(用户获取所需信息,然后为其他配置文件信息创建另一个名为UserProfile的脚手架)或者我应该只使用user_spec.rb中的列来实现所有这些信息?
答案 0 :(得分:1)
我们的想法是将所有字段保存在一个表中。这可以使用迁移轻松完成。
添加所有字段后,包括用户名,电子邮件,密码,生日,ZipCode,姓名,性别,种族(选择多个选项),教育,宗教,政治,儿童,身高,用户吸烟,用户饮酒,事业和用户关于我的部分。
然后你可以在登录后和登录显示/隐藏根据你想要的字段之前暗示条件。
这样做的一般方法是:
if current_user
//show the fields after login
else
//show the fields before login
end
请注意,您可以大致了解如何做到这一点。但是,您可以在任何视图中的代码中的任何位置使用它。
答案 1 :(得分:0)
实际的数据库列将在数据库迁移文件中定义。您无需在模型定义中全部定义它们。如果您按照描述使用生成器为模型构建脚手架,您将在db/migrations
中找到一个迁移文件,用于创建您描述的列。
听起来你正在考虑将“脚手架”作为实际代码,这令人困惑。相反,可以将支架视为定义模型代码,控制器代码和视图代码创建的蓝图。你不生成脚手架;你使用脚手架生成模型,视图和控制器。
答案 2 :(得分:0)
我对rails很新,但我不推荐使用Scaffold选项。您最好从命令行生成具有所需字段的用户模型和用户控制器,然后根据需要创建视图。
脚手架可能会给你提供超出你需要的东西,并导致混乱/问题。
你应该查看Michael Hartl的“通过示例学习Rails”(免费电子书!)。即使你不想通过它,他也会引导读者建立一个Twitter应用程序,我认为阅读一些章节会对你有所帮助。祝你好运!