做活动通以前没有接触过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 指南 v5.0.1 中文版 #### Rails入门 - **前提条件**:为了能够顺利地开始Rails的学习之旅,读者需要具备一定的Ruby语言基础,并且对Web开发有一定的了解。 - **Rails是什么?**:Rails是一种...
### Ruby on Rails基础知识详解 #### 一、Rails简介与安装 **Rails** 是一款流行的开源Web应用框架,基于Ruby语言编写。它强调简洁性、生产力和优雅的设计,非常适合快速开发Web应用。 - **特点** - **DRY (Don'...
总结以上内容,Ruby on Rails快速Web应用开发实战的文档详细介绍了Ruby编程语言和Rails框架的安装、配置以及使用。它涵盖了从Rails的历史和版本发展到如何在不同操作系统上安装Rails,再到如何使用Rails进行Web应用...
总结一下,这个“Ruby on Rails博客程序”将涵盖以下知识点: 1. Rails的MVC架构及其工作原理。 2. 使用ActiveRecord操作数据库。 3. 创建和管理Rails模型、视图和控制器。 4. URL路由配置。 5. Rails模板语言ERB的...
### Ruby on Rails 入门知识点详解 #### Rails简介与特性 **Rails** 是一种用于构建 Web 应用程序的开源框架,它使用 **Ruby** 编程语言编写而成。Rails 自发布以来,就以其优雅、高效及易于使用的特性受到开发者...
《Ruby.on.Rails.Web开发之旅》,作者:【德】Patrick Lenz,翻译:王德民、刘昕、裴立秋,出版社:人民邮电出版社,ISBN:9787115188526,PDF 格式,大小 144 Mb,被压缩为 3 部分,本资源是第二部分;第一部分下载...
《Ruby.on.Rails.Web开发之旅》,作者:【德】Patrick Lenz,翻译:王德民、刘昕、裴立秋,出版社:人民邮电出版社,ISBN:9787115188526,PDF 格式,大小 144 Mb,被压缩为 3 部分,本资源是第一部分;第二部分下载...
《Ruby.on.Rails.Web开发之旅》,作者:【德】Patrick Lenz,翻译:王德民、刘昕、裴立秋,出版社:人民邮电出版社,ISBN:9787115188526,PDF 格式,大小 144 Mb,被压缩为 3 部分,本资源是第三部分;第一部分下载...
### Ruby on Rails: The Scope Method 在Ruby on Rails框架中,`scope`方法是一个非常强大的工具,用于定义数据库查询的预设条件,从而简化代码并提高可读性和可维护性。下面将详细介绍`scope`方法的基本概念、用法...
### Ruby on Rails 环境搭建与 Passenger+Nginx 配置详解 #### 一、Ruby on Rails 开发环境搭建 在进行 Ruby on Rails 的开发之前,首先需要完成一系列的基础软件安装工作,包括但不限于 Ruby 语言环境、Rails ...
《Rails反模式:最佳实践与Ruby on Rails重构》是一本由Chad Pytel和Tammer Saleh撰写的书籍,深入探讨了在Ruby on Rails开发过程中常见的反模式,并提供了相应的最佳实践和重构策略。本书旨在帮助开发者识别并避免...
### 深入浅出 Ruby on Rails:关键知识点解析 #### 一、Ruby on Rails 简介 **Ruby on Rails**(简称 Rails 或 RoR),是由 David Heinemeier Hansson 创建的一个开源 Web 开发框架,它基于 Ruby 语言。Rails 的设计...
- **书籍定位**:《Ruby for Rails》被广泛认为是学习Ruby语言的必读之作,特别是对于那些希望利用Ruby on Rails(RoR)进行高效Web开发的学习者而言。这本书是所谓的“Ruby三神书”之一,其他两部分别是《Agile Web...
总结来说,Ruby on Rails实践涉及的内容广泛,包括Ruby语言基础、Rails框架的MVC架构、内置工具的使用、路由配置、设计模式、测试以及社区资源的利用。深入理解并熟练运用这些知识点,将能有效提升开发效率,构建出...
总结来说,拐点库是Python开发者的一个实用工具,它带来了Ruby on Rails中的Inflector功能,让Python开发者也能享受到便捷的字符串处理体验。无论是在Web开发还是数据处理场景,它都能显著提高代码的可读性和效率。...
通过以上步骤,我们已经成功地使用Ruby on Rails和`has_secure_password`特性实现了用户注册与登录的基本功能。这种方法不仅简洁高效,而且安全性较高,适用于大多数Web应用程序的需求。在实际开发过程中,还可以...
Ruby on Rails 是一个广受欢迎的Web开发框架,它以其生产力和灵活性著称。在现代Web开发中,前端JavaScript的处理和打包变得越来越重要,而ClojureScript是一种基于Clojure语言的JavaScript编译器,它提供了丰富的...
在Ruby开发领域,Web开发框架Rails(Ruby on Rails)因其高效和简洁的代码风格而备受开发者喜爱。近年来,随着前端技术的发展,JavaScript库如React在构建用户界面方面展现了强大潜力。本示例将探讨如何在Rails应用...
【标题】"angularu-todomvc-rails"指的是一个基于AngularJS和Ruby on Rails的TodoMVC示例项目,主要用于AngularU的演示。这个项目结合了两种强大的开发框架,展示了如何在实际应用中构建可扩展、模块化的前端与后端...