1、应用程序综合实践I摘要食谱分享网站已经出现在互联网中了。食品是也一个最流行的互联网搜索类别。大部分这些网站都有专家为他们编辑内容。在这个项目中,我们将开发的网站具有更加个性化的功能。业余用户可以将他们的食谱上传到网站上以便和其他网友共享,共享的食谱可以在不同的社交网站转载。我们的目标是创建一个非常基本的社会网站,用户可以注册和创建他们的食谱,其他用户可以筛选不同类型的食谱来阅读。用户体验是整个项目的一个重要组成部分。他们可以影响项目开发的方向,从长远来看,这是一个很重要的因素。一旦确定开发计划,即确定了我们将如何与用户进行交互以及所需的应用功能。我们把这作为一个参考,而编码容易得多。一个好的规
2、划会很好地帮助我们节省时间。本文首先对用户访问网站时的各个阶段进行分析,创建一个有许多用户可以注册,登录,创建食谱,并分类成不同的类型社会化食谱网站。以LINUX为网络操作系统,以RORRUBYONRAILS框架技术为支撑。该社会化食谱分享网在本文中得到实现的主要功能模块包括用户管理模块。上传管理模块,食谱管理模块等。关键字食谱分享网,ROR,用户管理模块。基于RUBYONRAILS的社会化食谱分享网的开发II目录摘要I目录II引言1第一章绪论111背景与意义112国内外食谱网站现状及分析113研究内容及本文结构2第二章基于RUBYONRAILS的社会化食谱分享网的开发总体分析与设计321基于
3、RUBYONRAILS的社会化食谱分享网设计目标322基于RUBYONRAILS的社会化食谱分享网功能需求分析3221管理员功能需求分析3222注册用户的功能需求分析4223基于RUBYONRAILS的社会化食谱分享网性能需求分析523可行性分析5231经济可行性5232技术可行性5233用户可行性524基于RUBYONRAILS的社会化食谱分享网总体功能设计5241基于RUBYONRAILS的社会化食谱分享网总体功能及其结构5242食谱分享网系统总体业务流程625食谱分享网开发系统结构设计7第三章食谱分享网详细分析与设计931食谱分享网模块的详细分析与设计9311用户前台模块9312管理员后
4、台模块932数据库设计10321用户前台模块10322食谱分享网系统关键数据表11第四章基于RUBYONRAILS的社会化食谱分享网实现1441系统开发环境与开发工具1442RORRUBYONRAILS框架1443相关代码14431添加的实现14应用程序综合实践III432删除的实现17433修改的实现17434查询的实现18第五章食谱分享网运行实例2051添加食谱界面2052修改食谱界面2053删除食谱界面2154查询食谱界面22第六章总结和展望23参考文献24应用程序综合实践1引言INTERNET的普及和应用使人们的现代生活方式发生了深刻的变化,各种行业也加快了信息化进程信息时代,人们的生
5、活节奏在加快,在精神享受提升的同时更多人关注物质享受。美食成为更多人的追求,千金易得,美食难求。人们对食物的需求已经不再是解决温饱这一概念。味美的食物不仅能让人带去口感上的满足,更让人的精神得以升华。而社会化食谱网站也将极大的方便了人们的日常需要。第一章绪论本章对系统的研究背景、意义、现状、研究内容进行了阐述,重点叙述了作者的研究内容和所做的主要工作。11背景与意义饮食的重要性是不言而喻的,它是人类的生存之本。食谱分享网站对方便用户查询菜谱信息非常重要。本论文针对当今时代越来越多的人面对“这顿吃啥”的问题进行了研究,在食谱检索系统上优化了菜谱检索网站的一些功能。对解决当今人们不知道“这顿吃啥”
6、的问题具有重要的意义。“民以食为天”,中国有五千多年的历史,饮食文化非常发达。伴随着生活节奏的加快和网络的发展已经很少有人去查阅纸质的菜谱书籍。随便往搜索引擎中输入一个菜谱名并会出现很多跟这个菜谱名相关的信息。然而,这些信息大部分都不是用户想要的。在这个背景下,出现了很多菜谱搜索网站,然而这些网站只能满足有比较明确的搜索目标的用户。那些搜索目标不明确的用户可能花费很长时间都找不到自己想要的结果。12国内外食谱网站现状及分析1、食谱网HTTP/WWWSPUWEBCN特点是食谱多,做美食视频多,寻找方便最喜欢的是它的每个食谱都和视频结合起来的如果有相关视频的话,同时还有相关的食谱,视频食谱一个页面
7、就找到了,真是方便啊不需要东找西找了哈哈2、贝太厨房HTTP/WWWBETTYSKITCHENCOMCN/老牌的饮食类网站,资料超多,烘烤类美食是她的强项,人气也很旺。3、大洋美食HTTP/MEALDAYOOCOM/栏目虽然不是太多,文章还是可以的,其中型男厨房,美女厨房还可以看靓男美女做饭呢。4、新浪美食HTTP/EATSINACOMCN/5、九河美食HTTP/WWW99HECOM/老牌的美食网站了,应该是02年建的站,里面的各种菜系的制作方法还比较全面,还有杂谈,营养指南等。6、POCP中国美食网HTTP/FOODPOCOCN/POCP有着强大的用户群,所以这个网站的用户活跃度是比较高的,
8、有基于RUBYONRAILS的社会化食谱分享网的开发2很多比较好的文章,而且它有个各地的分站,介绍各地的美食也比较方便。7、CCTV天天饮食HTTP/SPACETVCCTVCOM/PODCAST/TTYS这里可以看CCTV的天天饮食节目的视频。8、39健康网美食频道HTTP/FOOD39NET/39的优势就在于两个字,就是健康,这里有各种各样的食品的营养搭配,功效,包括果蔬,鱼鲜,禽肉等等,还介绍每天的食品搭配方法,怎么样吃东西才能更健康都有很多比较好的文章。向健9、今日美食HTTP/WWWFOODNO1COM/CHINDEXHTM台湾的老牌美食网站。13研究内容及本文结构第一章介绍了对系统的
9、研究背景和目的、研究现状和内容进行了阐述,重点叙述了作者的研究内容和所做的主要工作。第二章介绍了社会化食谱分享网站的设计目标,重点强调了该系统的功能需求,并对系统进行了可行性分析,根据需求分析设计了系统的总体功能模块,并指出了系统的业务流程,设计了系统的体系结构。第三章对社会化食谱分享网站模块进行了详细分析和设计。根据体系结构设计了系统的包结构并描述了各个包的内容和作用。设计了社会化食谱分享网站的用力实现,描述了各个系统内部各个对象间的调用顺序。对社会化食谱分享网站的数据库进行了设计,给出了实体关系图和关键数据表。第四章介绍了社会化食谱分享网站实现的关键算法,主要技术,包括系统开发关工具、开发
10、环境和开发语言。第五章主要展示了社会化食谱分享网站的最终成果,介绍了系统核心功能和流程的界面。第六章对毕业设计进行了总结,叙述了毕业设计当中遇到的主要问题和解决途径,并对后续工作进行了展望。应用程序综合实践3第二章基于RUBYONRAILS的社会化食谱分享网的开发总体分析与设计本章首先介绍了社会化食谱分享网站的设计目标,重点强调了该系统的功能需求,并对系统进行了可行性分析,根据需求分析设计了系统的总体功能模块,并指出了系统的业务流程,设计了系统的体系结构。21基于RUBYONRAILS的社会化食谱分享网设计目标本系统的设计目标是为美食爱好者提供一个智能化的用户体验,它提供数据统计,简化繁琐的机
11、械化工作。22基于RUBYONRAILS的社会化食谱分享网功能需求分析221管理员功能需求分析根据管理员在本系统进行系统维护的工作分析得出其用例。图1管理员进行系统维护用例图用例管理注册用户目的对站内的注册用户进行添加、删除、修改操作。概述管理员通过登陆后台,可以根据实际情况对用户表进行一些需要的操作。用例管理食谱类别目的对站内的食谱类别进行添加、删除、修改操作。概述不同的食谱属于不同的类别,当管理员进行管理食谱操作时,需要选择该食谱属于什么类别,前台通过管理员选择的不同的类别,在相应的页面显示相应的食谱。基于RUBYONRAILS的社会化食谱分享网的开发4用例管理食谱目的对食谱进行添加,删除
12、,修改概述管理员通过登录后台可以对其他注册用户发布的食谱进行操作222注册用户的功能需求分析根据用户在本系统进行请求服务的分析得出其用例。图2用户进行请求分析用例图用例浏览站内信息目的用户通过浏览器浏览系统前台信息概述用户在线对站内的食谱进行浏览,选择自己需要的信息进行阅读。用例查询食谱目的用户通过搜索框搜索自己需要的食谱概述用户可以通过站内搜索框的关键词搜索快速的定位自己需要的食谱,进行浏览时可以看到实物图以及烹饪的菜谱,以此来方便用户的阅读。用例管理个人信息目的注册用户对自己信息进行添加、删除、修改操作。概述注册用户通过登陆后,可以修改一些信息,比如密码、邮箱等信息。用例发布食谱目的注册用
13、户可以通过网站发布自己的食谱概述在进行食谱发布时,系统会判断用户是否登陆,未登陆用户需要登陆后,才可以发布相关内容。应用程序综合实践5223基于RUBYONRAILS的社会化食谱分享网性能需求分析系统的易用性本完全基于RORRUBYONRAILS框架技术,用户只需具备基本计算机使用技能就能顺利地使用本系统。系统的先进性系统在开发技术选择上采用RORRUBYONRAILS框架技术,具备一定的先进性。23可行性分析针对食谱分享网的实际情况,将可行性分析分为经济可行性、技术可行性和用户可行性三部分进行。231经济可行性本系统的开发不需要大量的开发人员,从而减少了工资费用以及管理维护人员。利用RORR
14、UBYONRAILS框架大大节约了时间。232技术可行性ROR是RUBYONRAILS的缩写。RUBYONRAILS是一个用于编写网络应用程序的框架,它基于计算机软件语言RUBY,给程序开发人员提供强大的框架支持。RUBY语言是解释型脚本语言,它既有脚本语言强大的字符串处理能力和正则表达式,又不失解释型语言的动态性。一方面,在最初设计RUBY语言时,RUBY的研发者松本行弘考虑到文字处理方面的需要,他借鉴了PERL语言在文字处理方面的成功经验。另一方面,松本行弘将RUBY语言设定为一种解释型语言,RUBY的动态性使得由RUBY语言编写的程序不需要事先编译即可直接运行,这为程序的调试带来了方便。
15、同时,这一特点可以实现开发过程中的快速反馈。233用户可行性目前,我国网民的普及增长的越来越快,对于绝大部分人都拥有能上网电脑,越来越多的人选择在网上查询信息。24基于RUBYONRAILS的社会化食谱分享网总体功能设计241基于RUBYONRAILS的社会化食谱分享网总体功能及其结构据前面的需求分析,食谱分享网分为二个主要模块,分别是前台模块、管理员后台模块,图3是食谱分享网的总体功能模块图。基于RUBYONRAILS的社会化食谱分享网的开发6图3食谱分享网总体功能模块图前台模块主要提供游客和注册用户在对网站请求服务的所有功能。管理员后台模块主要提供管理员管理系统的一些所需的功能。242食谱
16、分享网系统总体业务流程本文研究探索了食谱分享网系统的开发,对系统需求进行了分析,制定了相应的模块。图4是食谱分享网的前台核心流程。图5是食谱分享网系统的后台核心流程。图4食谱分享网系统前台核心流程应用程序综合实践7图5食谱分享网系统后台核心流程25食谱分享网开发系统结构设计考虑到整个系统的体系架构需要的功能变化以及数据变化,系统使用RORRUBYONRAILS框架,大大便利了系统的更新和维护。J2EE规范的出现为可伸缩、灵活性、易维护性的商务系统提供了良好的机制。基于以上说明以及食谱分享网需求功能,决定采用STRUTSHIBERNATE的组合框构建食谱分享网系统。STRUTS是一个基于MVC设
17、计模式的框架,STRUTS框架的目的是提供一个开发WEB的开放源码框架,该框架能够使显示层从业务逻辑层和持久数据层中抽象和分离出来。STRUTS可以实现代码重用,这一点让开发人员从冗余的代码中解放出来,从而大大节约了时间9。HIBERNATE是一个面向JAVA环境的ORM(对象/关系映射)工具,它管理了JAVA到数据库的映射,提供了数据查询和存储的方法,减少了使用SQL和JDBC处理数据的时间10。综上所述,图6是食谱分享网站系统的体系结构。图6食谱分享网站系统的体系结构客户端主要任务是通过JSP页面实现交互页面,传送客户的请求以及接受响应,还承担JAVASCRIPT代码的运行。表示层是由JS
18、P页面组成的,这些JSP页面承担了信息展示和控制器处理结果显示功能。控制器层的主要控制器是ACTIONSERVLET。它用来接受客户端的请求,并根据配置文基于RUBYONRAILS的社会化食谱分享网的开发8件寻找匹配的URL,把客户端请求发送到合适的控制器中。模型层HIBERNATE完全负责对象化映射和与数据库进行交互,处理DAO组件请求的数据,并返回处理结果。应用程序综合实践9第三章食谱分享网详细分析与设计31食谱分享网模块的详细分析与设计本章对食谱分享网系统模块进行了详细分析和设计,包括用户前台模块,管理员后台模块。对毕业设计管理系统的数据库进行了设计,给出了实体关系图和关键数据表。311
19、用户前台模块用户前台模块主要包括5个子模块,它们分别是用户管理、上传食谱、修改食谱、查询食谱、美食展台,它同时面向普通游客和注册用户,注册用户通过本模块可以修改自己的相关资料上传自己发明的食谱当管理员审核通过后,食谱可以被注册用户和游客浏览。普通游客通过本模块可以通过美食展台按分类浏览食谱通过查询搜索框查询需要的食谱。图7是食谱分享网系统前台功能模块图。图7食谱分享系统前台功能模块图312管理员后台模块管理员后台模块的功能主要包括上传处理,注册用户管理,食谱管理,食谱分类管理等子模块,其中注册用户管理是管理员有可以修改用户资料以及删除用户的权限,上传处理主要是注册用户上传食谱后,管理员根据该食
20、谱是否符合要求,若符合则同意上基于RUBYONRAILS的社会化食谱分享网的开发10传,若不符合则拒绝上传。图8是食谱分享网站系统前台功能模块图图8食谱分享网站系统后台功能模块图32数据库设计本节描述了食谱分享网的数据库设计,主要是食谱分享网系统的实体关系图和关键表。321用户前台模块实体关系图从内部描述了信息系统的数据结构图9是食谱分享网的主数据库实体关系图。应用程序综合实践11TB_GOODSPKGOODS_IDGOODS_NAMEGOODS_EXCEPTGOODS_CREATDATAGOODS_COUNTGOODS_PRICEGOODS_COMMENT_COUNTGOODS_FAVOR_
21、COUNTGOODS_VIEW_COUNTGOODS_INFOGOODS_TASTEGOODS_PRETIMEGOODS_PROCESSGOODS_COOKTIMEGOODS_DIFFICULTTB_GOODS_PICPKPIC_IDFK1,I1GOODS_IDPIC_URLTB_GORDERPKGORDER_IDFK1,I1USER_IDGORDER_DATEGORDER_ADDRESSGORDER_PHONETOTAL_PRICEGORDER_CONDITIONFK2DTEAIL_IDTB_MAINFOODPKMAINFOOD_IDMAINFOOD_NAMEMAINFOOD_NUMFK1,
22、I1GOODS_IDTB_GOODS_CATPKGOODS_CAT_IDPARENT_IDGOODS_CAT_NAMEGOODS_CAT_EXCEPTTB_COOKPKCOOK_IDCOOK_SETPCOOK_PICCOOK_CONTENTFK1,I1GOODS_IDTB_SECONDFOODPKSECOND_IDSECONDFOOD_NAMESECONDFOOD_NUMFK1,I1GOODS_IDTB_GOODS_CAT_RELATIONSHIPPKGOODS_CAT_R_IDFK1,I1GOODS_IDFK2,I2GOODS_CAT_IDTB_USERPKUSER_IDUSER_NAMEU
23、SER_PWDUSER_EMAILUSER_ADDRESSUSER_PHONETB_GOODS_COMMENTPKGOODS_COMMENT_IDGOODS_COMMENT_DATEGOODS_COMMENT_CONTENTGOODS_COMMENT_PARENTGOODS_COMMENT_PICGOODS_COMMENT_AUTHORFK1,I1GOODS_IDTB_DTEAILPKDTEAIL_IDFK1,I2GOODS_IDDTEAIL_NUMALL_PRICE图9数据库主实体关系图322食谱分享网系统关键数据表针对每个实体在数据库中都会存在相对应的表,下面给出食谱分享网系统的关键数据表
24、表1食谱信息表(TB_GOODS)字段类型NULL默认额外注释GOODS_IDINTEGERPKAUTO_INCREMENT食谱IDGOODS_NAMEVARCHAR50NO食谱名GOODS_EXCEPTVARCHAR255NO食谱摘要GOODS_DATEDATETIMENO00000000添加时间GOODS_COMMENT_COUNTINTEGERNO0食谱评论数GOODS_FAVOR_COUNTDOUBLEYES0食谱喜爱度GOODS_VIEW_COUNTINTEGERNO0食谱浏览数GOODS_INFOVARCHAR50NO食谱标签食谱信息表主要负责存储食谱的名称、单价等基本信息。表2食
25、谱菜谱表(TB_COOK)字段类型NULL默认额外注释COOK_IDINTEGERPKAUTO_INCREMENTIDCOOK_SETPVARCHAR100NO菜谱步骤COOK_PICVARCHAR255YES菜谱图片基于RUBYONRAILS的社会化食谱分享网的开发12COOK_CONTENTVARCHAR255NO步骤文字GOODS_IDINTEGERFK食谱ID食谱菜谱表主要负责存储美食的烹饪方法的文字以及图片。表3食谱与食谱分类中间表(TB_GOODS_CAT_RELATIONSHIP)字段类型NULL默认额外注释GOODS_CAT_R_IDINTEGERPKAUTO_INCREMEN
26、TIDGOODS_IDINTEGERFK食谱IDGOODS_CAT_IDINTEGERFK食谱分类ID食谱与食谱分类中间表主要负责连接食谱与食谱分类。让用户可以通过分类来查看。表4食谱分类表(TB_GOODS_CAT)字段类型NULL默认额外注释GOODS_CAT_IDINTEGERPKAUTO_INCREMENT食谱分类IDPARENT_IDINTEGERNO分类父级IDGOODS_CAT_NAMEVARCHAR50NO食谱分类名GOODS_CAT_EXCEPTVARCHAR255分类摘要食谱分类表主要负责储存食谱的分类以及父类在导航条上显示。表5主料表(TB_MAINFOOD)字段类型NU
27、LL默认额外注释MAINFOOD_IDINTEGERPKAUTO_INCREMENT主料IDMAINFOOD_NAMEVARCHAR50NO主料名称MAINFOOD_NUMVARCHAR10NO主料数量GOODS_IDINTEGERFK食谱ID主料表主要负责储存食谱包含主料名称以及数量。表6用户信息表(USER)字段类型NULL默认额外注释USER_IDINTEGERPKAUTO_INCREMENT用户IDUSER_NAMEVARCHAR100NO用户名USER_PASSVARCHAR100NO用户密码USER_EMAILVARCHAR100NO电子邮箱应用程序综合实践13USER_ADDRE
28、SSVARCHAR255NO用户地址USER_PHONEVARCHAR100NO用户电话用户信息表主要负责储存注册用户的用户名、密码等基本信息方便用户的购买。基于RUBYONRAILS的社会化食谱分享网的开发14第四章基于RUBYONRAILS的社会化食谱分享网实现41系统开发环境与开发工具食谱分享网站采用ROR框架,选用虚拟机开发环境,以及MYSQL来实现本系统。42RORRUBYONRAILS框架ROR是RUBYONRAILS的缩写。RUBYONRAILS是一个用于编写网络应用程序的框架,它基于计算机软件语言RUBY,给程序开发人员提供强大的框架支持。RUBY语言是解释型脚本语言,它既有脚
29、本语言强大的字符串处理能力和正则表达式,又不失解释型语言的动态性。一方面,在最初设计RUBY语言时,RUBY的研发者松本行弘考虑到文字处理方面的需要,他借鉴了PERL语言在文字处理方面的成功经验。另一方面,松本行弘将RUBY语言设定为一种解释型语言,RUBY的动态性使得由RUBY语言编写的程序不需要事先编译即可直接运行,这为程序的调试带来了方便。43相关代码431添加的实现JSPFORADDKKFORMFORM查询食谱食谱编号食谱名称主料分类应用程序综合实践15口味步骤二/GENERATEDBYMYECLIPSESTRUTSTEMPLATEPATHTEMPLATES/JAVA/JAVACLAS
30、SVTL/PACKAGECOMYOURCOMPANYSTRUTSACTIONIMPORTHIBERNATEKKIMPORTHIBERNATEKKDAOIMPORTJAVAXSERVLETHTTPHTTPSERVLETREQUESTIMPORTJAVAXSERVLETHTTPHTTPSERVLETRESPONSEIMPORTORGAPACHESTRUTSACTIONACTIONIMPORTORGAPACHESTRUTSACTIONACTIONFORMIMPORTORGAPACHESTRUTSACTIONACTIONFORWARDIMPORTORGAPACHESTRUTSACTIONACTIONM
31、APPINGIMPORTORGHIBERNATETRANSACTIONIMPORTCOMYOURCOMPANYSTRUTSFORMADDKKFORM/MYECLIPSESTRUTSCREATIONDATE01162015XDOCLETDEFINITIONSTRUTSACTIONPATH“/ADDKK“NAME“ADDKKFORM“INPUT“/FORM/ADDKKJSP“基于RUBYONRAILS的社会化食谱分享网的开发16SCOPE“REQUEST“VALIDATE“TRUE“STRUTSACTIONFORWARDNAME“SUCCESS“PATH“/INDEXJSP“/PUBLICCLAS
32、SADDKKACTIONEXTENDSACTION/GENERATEDMETHODS/METHODEXECUTEPARAMMAPPINGPARAMFORMPARAMREQUESTPARAMRESPONSERETURNACTIONFORWARD/PUBLICACTIONFORWARDEXECUTEACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSEADDKKFORMADDKKFORMADDKKFORMFORM/TODOAUTOGENERATEDMETHODSTUBKKKK
33、NEWKKKKSETIDADDKKFORMGETIDKKSETMCADDKKFORMGETMCKKSETKWADDKKFORMGETKWKKSETZLADDKKFORMGETZLKKSETFLADDKKFORMGETFLKKSETBZADDKKFORMGETBZKKDAOKKDAONEWKKDAOTRANSACTIONTRAKKDAOGETSESSIONBEGINTRANSACTIONKKDAOSAVEKKTRACOMMITKKDAOGETSESSIONFLUSHRETURNMAPPINGFINDFORWARD“SUCCESS“应用程序综合实践17432删除的实现PUBLICACTIONFOR
34、WARDEXECUTEACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSEDELKKFORMDELKKFORMDELKKFORMFORM/TODOAUTOGENERATEDMETHODSTUBKKDAOSDAONEWKKDAOSDAODELETESDAOFINDBYIDREQUESTGETPARAMETER“ID“SDAOGETSESSIONFLUSHRETURNMAPPINGFINDFORWARD“SUCCESS“433修改的实现PUBLICACTIONFORWARD
35、EXECUTEACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONEDITFISHFORMEDITKKFORMEDITKKFORMFORM/TODOAUTOGENERATEDMETHODSTUBKKDAOFDAONEWKKDAOKKKKKKDAOFINDBYIDREQUESTGETPARAMETER“BH“KKSETIDREQUESTGETPARAMETER“ID“KKSETMCREQUESTGETPA
36、RAMETER“MC“KKSETKWREQUESTGETPARAMETER“KW“KKSETZLREQUESTGETPARAMETER“ZL“KKSETFLREQUESTGETPARAMETER“FL“ORGHIBERNATETRANSACTIONTRAKKDAOGETSESSIONBEGINTRANSACTIONKKDAOSAVEFTRACOMMITKKDAOGETSESSIONFLUSHREQUESTSETATTRIBUTE“KK“,KKREQUESTGETREQUESTDISPATCHER“/EDITKKJSP“FORWARDREQUEST,RESPONSERETURNMAPPINGFI
37、NDFORWARD“SUCCESS“基于RUBYONRAILS的社会化食谱分享网的开发18434查询的实现查询食谱/H1食谱ID食谱名称口味主料制作步骤应用程序综合实践19基于RUBYONRAILS的社会化食谱分享网的开发20第五章食谱分享网运行实例本章主要展示了食谱分享网的最终成果,介绍了系统核心功能和流程的界面。51添加食谱界面图11是是食谱分享网添加食谱界面。该界面能添加食谱用料,步骤等。图10添加食谱52修改食谱界面图12修改菜谱界面,修改完成后点击提交即修改完成。应用程序综合实践21图11修改菜谱53删除食谱界面图12删除食谱基于RUBYONRAILS的社会化食谱分享网的开发2254
38、查询食谱界面图13查询食谱应用程序综合实践23第六章总结和展望在老师和同学的帮助下,我完成了这次系统设计。通过本次实践,我对网站的构建和数据库之间的连接有了更深刻的理解。不同的框架有不同的优点缺点,我选择了RUBYONRAILS框架,通过这些天的试用,对该框架也有蓝更深刻的理解。由于时间和技术的原因,这个系统还存在着很多缺点,通过这次体验,我学到了很多东西,这次实践让我获得了很大的启发。基于RUBYONRAILS的社会化食谱分享网的开发24参考文献11ANDIGUTMANSPHP5POWERPROGRAMMINGPRENTICEHALLPTR,200422JIEYU,JAUMEAMORES,N
39、ICUSEBE,QITIANANEWSTUDYONDISTANCEMETRICSASSIMILARITYMEASUREMENT,1333ERUCHGAMMA设计模式(可复用面向对象的基本)机械工业出版社,200044孙良军,胡秀娥HTMLCSSJAVASCRIPT网页设计与布局实用教程北京清华大学出版社,2011,24328655CRISTIANDARIE,FILIPCHERECHESTOSA,BOGDANBRINZAREA,MIHAIBUCICAAJAX与PHPWEB开发北京人民邮电出版社,2313066PHP_MANUAL_ZH,PHP开发文档77W3SCHOOL开发文档88罗刚自己动手写搜索引擎,200999MICHAELKOFLERMYSQL5权威指南北京人民邮电出版社,1423371010BENFORTAMYSQL必知必会北京人民邮电出版社,230234张新丽基于反射构建O/RMAPPER的动态工厂系统J成都信息工程学院学报,2007,05