做活动通以前没有接触过ruby语言,所以刚开始做活动通的时候比较茫然,后来先粗略的学习了一下ruby的语言,还是有很多不理解的地方,先直接拿过来用,等以后做完活动通了在回过头来理解一下ruby语言的运行机制。我前面已经写了怎样用rails新建一个工程,在这里不再赘述,如有需要可以看我前面的两篇博客。这里我主要讲一下在做活动通中遇到的一些难点,以及问题。
1.关于routing
运行项目会首先从public里面找静态的页面如果找到直接返回web serrver,如果没有找到会进入到rails代码,进入routing,routing会告诉它往哪走,也就是说如果有请求链接,通过routing就能够决定我们到底要执行哪个controller,还有哪个controller里的哪个action,然后controller会从model中取数据,然后返回给view
路由里的几个方法
get 不修改服务器上的内容,只是从服务器上取到数据
post 修改服务器上的内容
put 更新服务器上的内容
delete 删除服务器上的内容
举个例子
get "/modify_password" => "users#modify_password", :as => "modify_password"
modify_password是页面,找modify_password页面是会去users_controller里寻找modify_password方法,:as是为它命名为modify_password,有两种用法
= link_to "首页",modify_password_path //相当于href="/modify_password"
= link_to "首页",modify_password_url //相当于 href="localhost:3000/modify_password"
2.关于controller
controller通过model 对DB进行CRUD(即数据的增删改差),然后返回给view
举个例子
def create @user=User.new(params[:user]) //@user可以把值传给view if @user.save render :welcome //如果保存成功跳转welcome else render :signup //不成功跳转signup end end
3.form_for和form_tag rails 内建的表单辅助方法
form_for它可以在你修改的时候自动将值传入,例如
<%= form_for @event do |f| %> <%= f.text_field :name %> <%= f.submit %> <% end %>
form_tag不需要对应的表单
<%= form_tag "/search" do %> <%= text_field_tag :keyword %> <%= submit_tag %> <% end %>
4.has_secure_password rails内建的重复密码验证机制
需要在gemfile中添加
gem 'bcrypt', '~> 3.1.7'
运行bundle 进行安装
%p .input-group = f.label :请设置密码, :class => "input-group-addon", = f.password_field :password, :class => "form-control" %p .input-group = f.label :请确认重复密码, :class => "input-group-addon", = f.password_field :password_confirmation, :class => "form-control"
如果password和password_confirmation不一致的话,has_secure_password机制会自动提交失败。
先写到这里,刚学习ruby没多长时间,如果有任何问题,欢迎指正。
相关推荐
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5
Ruby On Rails中文教材(PDF)
Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 ...
ruby on rails社区网站开发源码
ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作
Ruby on Rails Web开发学习实录 内容简介: 在目前的主流web开发技术中,基于ruby语言的rails框架是做网站开发速度最快的工具。它可以达到j2ee框架开发速度的5~10倍,并且代码量也非常少。另外由于代码量的大幅度...
Ruby on Rails中文指南
Ruby On Rails 官方教程,这本书讲解如何使用 Ruby on Rails 框架开发应用,以及如何把应用部署到生成环境。本书使用 Rails 默认的开发工具栈开发了一个完整的社交应用(类似 Twitter)。读完本书后你将掌握如何使用...
ruby on rails api方便查阅
ruby on rails 教程源码,配合原书使用
ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)
ruby on rails最新版 这是本人精心收集的重要软件
本书的目标是成为对“如果想学习使用 Ruby on Rails 进行 Web 开发,我应该从哪儿开始?”这一问题的最好答案。学习完本书的内容之后,你将具备使用 Rails 进行开发和部署 Web 程序的技能。同时你还能够通过一些进阶...
该资源包包括在Linux安装Ruby on Rails所需的包,以及安装步骤文档
Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。 ActiveRecord 的灵活让你再也不用配置繁琐的 Hibernate 即可...
基于ruby on rails开发示例源码
最新Ruby on Rails中文版介绍,欢迎大家共同学习此最新的技术!随着Ruby和Rails版本的不断升级,这些知识也在不断的更新,谢谢的支持!
本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。