[技术博客] 软工-Ruby on Rails 后端开发总结分享
[技术博客] 软工-Ruby on Rails 后端开发总结分享
在这次软件编写中,我们的后端使用了Ruby on Rails (RoR)
框架。
Rails框架是用Ruby编写的。这意味着当我们为Ruby on Rails编写代码时,我们正在使用Ruby。在这个技术博客中,笔者将分享一些自己对Rails
的理解。
理解rails作业流程:以如何引导完成请求/响应周期以访问博客应用程序中的文章列表为例
用户单击一个按钮,然后对URL进行GET请求
/articles
。Web服务器收到此请求。然后,Rails#index
基于中的URL /控制器映射执行相应的控制器操作routes.rb
。控制器调用
Article.all
通过Article
模型从数据库加载文章的集合。该集合被分配给一个实例变量。视图将呈现给发出请求的用户,该用户将内插实例变量值以显示文章列表。
在Ruby中,一切皆对象
在面向对象的编程中,对象是类的实例。在Ruby中,所有类都是class的实例
Class
。例如:
class => Fixnum
class.class => class
有一些语句不是对象,如块,方法和条件语句(即:
if
,else
)。Ruby是动态类型的语言
Ruby是动态类型的。程序员可以即时更改变量类型。
在Ruby中,以下代码行顺序地地运行,不会引发错误。
x = 1
x = "foo"
Ruby中的getter和setter方法的信息
一个getter允许访问一个实例变量。设置器允许设置实例变量。
我们可以手动定义getter和setter方法:
class Car
def color
@color
end
def color=(color)
@color = color
end
end
c = Car.new
c.color = 'red'
puts c.color # => red
但是Ruby提供了三种访问器方法,它们执行相同的操作并且更简洁:
attr_reader
(getter),attr_writer
(setter)和attr_accessor
(setter和getter)。class Car
attr_accessor :color
end
c = Car.new
c.color = 'blue'
puts c.color #=> blue
如何列出应用程序中的所有路由
$rake routes
我们也可以添加| grep `,来过滤返回的路由。
这一方法在实际工程中可以用来进行debug等操作
什么是Gemfile
在Gemfile中,我们为Ruby应用程序指定了依赖项。它位于项目的根目录中。Gemfile.lock包含已安装gems的确切版本的记录。这样,如果另一台计算机clone该项目,则可以安装相同的版本。相反,在Gemfile中指定一个gem而不固定到特定版本只会安装gem的最新版本。
在我们的实践中,遇到环境配置出错的情况,有时是Gemfile.lock出错导致的
有哪些Rails设计模式
Rails中有许多设计模式,包括服务对象,值对象,表单对象,查询对象,视图对象,策略对象和装饰器。
Rails如何管理数据库状态
程序员可以手动生成并向迁移(migrate)文件添加说明。
这些指示
ActiveRecord
如何修改现有数据库状态。因此,删除或修改以前的迁移可能会使数据库出错,因此笔者强烈不建议这样做。
最新文章
- Java基础和JDK5.0新特性
- mysql5.7.12直接解压zip包,安装过程
- HTML中的边框属性
- 【Android 界面效果35】管理Fragments
- C# 调试程序弹出 没有可用于当前位置的源代码 对话框
- 【 UVALive - 4287】Proving Equivalences (SCC缩点)
- 一些技术blog和安全blog
- apache的keepalive和keepalivetimeout
- 蜗牛爱课- iOS中定时器NSTimer使用
- Codeforces Round #261 (Div. 2)——Pashmak and Buses
- Java中的throw和throws的差别
- 微信公众号开发C#系列-7、消息管理-接收事件推送
- JavaDBF:保存行情实时数据到DBF文件
- 【MyEclipse】JSP默认打开方式 设置(双击)
- canvas-star3
- jmeter在返回的json串中提取需要的值
- java过滤防止sql注入过滤
- LINQ to Entities 比较日期
- OpenStack云计算(一)——OpenStack 网络
- Oracle数据库日期格式转换操作