2018/4/18 山东大学学习资源聚合平台工作

本博客用来记录学习资源聚合平台的整个开发过程,前两周主要做了需求分析和设计,忘记写博客了,从今天开始记录

首先,我负责的是课程模块的开发,先说一下这几天我做的模型的设计,主要有以下几个模型:课程(course)、知识(knowledge)、回复(reply),知识又分为三种:专栏(blog)、提问(question)、资源(resource),这三种采用单表继承的方式实现,具体来说就是利用一个type字段来区别类型,具体的实现如下:


get_all_entry方法通过输入参数来分别返回三种类型知识的全部记录

课程的model如下:

字段名类型
course_namestring
knowledgeknowledge
teacherteacher_relationship
keywordskeyword

其中,knowledge、teacher、keywords为has_many的关系

knowledge的model如下:

字段名类型
coursecourse
useruser
typestring
contentstring
good(点赞数)integer
bad(踩的数量)iinteger
updated_timetimestamps

reply的model(还没具体想好,等之后再做)

除此之外,这几天还搭了一下课程首页的架子,效果如下:



在通过在route.rb中定义路径,可以完成页面的跳转:


这里我遇到了一个问题:

当我想跳转到knowledges/question_new界面时出现了问题,原因是路由的匹配是从上到下的,当前面有一条匹配时就去跳转了,这时就会将question_new认为是一个id,去数据库查询,发现没有,报错,解决方法如下:

先利用except函数去除show的匹配,这样就不会去匹配id了,我们在下面单独再写一条路由规则,并且限定id的输入必须是数字,这样就可以进行更细粒度的控制,从而完成正确路由

今天之前采用的编辑器是RubyMine,之后转用Cloud9云编译器,以便实现更好的管理,并且可以忽略本地环境,今天为平台的转移调试了环境。

准备在明天进行问题模块的发布的编程,并且对前端进行一些美化,使用bootstrap框架完成美化工作

总体来说,这几天主要完成了页面的逻辑跳转,建立了主要的模型,并且对Ruby on Rails的结构有了一些简单的了解,简单来说,view层只是负责显示的,而controller主要是监视界面,将页面的请求发给数据库,数据库以模型的数据结构来返回结果,所以主要的操作应该集中在controller层,这是我接下来几天需要构建的,即从前端得到数据,操作数据库得到结果并显示回来。下面这张图形象的说明了Rails的MVC结构:


下面是今天项目的github地址:https://github.com/mottled233/SDU-Learning-resource-aggregation-platform.git中的course_part2分支

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值