模型结构
开始构建你的应用程序,并了解你将在应用中使用的模型结构。
在开始编写应用程序代码之前,你需要确定应用的功能。这将帮助你分解实现步骤,使编码过程更加轻松。本应用的重点将更多放在功能实现上,而非外观设计。
你将创建一个简单的链接分享应用。我们希望实现的基本功能如下:
- 允许用户分享和查看链接
- 允许用户注册、登录和登出
- 允许已登录用户提交和编辑链接
- 允许已登录用户对链接进行点赞或点踩
- 允许已登录用户对提交的链接发表评论
模型
首先需要决定模型的结构,即明确需要多少个模型、每个模型包含哪些属性,以及它们之间的关联关系。
在此项目中,你只需要三个模型:User、Link 和 Comment。
-
User模型将包含 email 和 password 字段。该模型将使用Devisegem 来实现注册、登录和登出功能。 -
Link模型将包含 title(标题)、url(链接地址)和 user_id(所属用户ID),用于存储应用中添加的所有链接。 -
Comment模型将包含 link_id(关联的链接ID)和 text_body(评论内容)。
现在你已经确定了应用的功能需求并规划好了模型结构,可以开始编写应用代码了。
你将从创建一个新的 Rails 项目开始:
1rails new linkShare
生成 Link 模型
为了快速搭建 Link 模型,你将使用 scaffold 命令,而不是从零开始手动构建整个结构。
运行以下命令:
1rails g scaffold link title:string url:string
该命令会自动创建模型、对应的控制器和视图,并生成完整的测试文件以及用于更新数据库结构的迁移文件。仅通过这一条命令,你就完成了应用的基础架构搭建。
注意:在设置好
User模型之后,再为Link模型添加 user_id 字段。
执行数据库迁移:
1rake db:migrate
运行以下命令将执行迁移、加载种子数据并启动 Rails 服务器。
注意:在终端中运行任何 Rails 命令(如
rails、rake)时,必须在前面加上bundle exec。若需手动部署服务器,请使用bundle exec rails s -b 'ssl://0.0.0.0:3000?key=/project/server.key&cert=/project/server.crt’。
No configuration found for ID: e89fb4cfc78c9064632768a7b04c381474c3ac02d6e3541faadf6ea3c5bdf1a1