`

活动通小结 ruby on rails 认证登录模块

阅读更多

做活动通以前没有接触过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没多长时间,如果有任何问题,欢迎指正。

 

 

 

1
0
分享到:
评论
2 楼 tianlitao 2014-08-26  
恩,我在看看这块
1 楼 zhangfortune 2014-08-26  
通过controller对model 进行CRUD(即数据的增删改差),然后返回给view
举个例子
这句话有问题,是C通过M对DB进行CURD操作。再理理这块
另外如果刚学的话尽量不要用别人的Gem自己尝试着写,知道原理了再用

相关推荐

    Ruby on Rails 指南 v5.0.1 中文版

    ### Ruby on Rails 指南 v5.0.1 中文版 #### Rails入门 - **前提条件**:为了能够顺利地开始Rails的学习之旅,读者需要具备一定的Ruby语言基础,并且对Web开发有一定的了解。 - **Rails是什么?**:Rails是一种...

    ruby on rails基础知识

    ### Ruby on Rails基础知识详解 #### 一、Rails简介与安装 **Rails** 是一款流行的开源Web应用框架,基于Ruby语言编写。它强调简洁性、生产力和优雅的设计,非常适合快速开发Web应用。 - **特点** - **DRY (Don'...

    Ruby+on+Rails快速Web应用开发实战.pdf

    总结以上内容,Ruby on Rails快速Web应用开发实战的文档详细介绍了Ruby编程语言和Rails框架的安装、配置以及使用。它涵盖了从Rails的历史和版本发展到如何在不同操作系统上安装Rails,再到如何使用Rails进行Web应用...

    Ruby on rails blog (博客程序)

    总结一下,这个“Ruby on Rails博客程序”将涵盖以下知识点: 1. Rails的MVC架构及其工作原理。 2. 使用ActiveRecord操作数据库。 3. 创建和管理Rails模型、视图和控制器。 4. URL路由配置。 5. Rails模板语言ERB的...

    ruby on rails入门

    ### Ruby on Rails 入门知识点详解 #### Rails简介与特性 **Rails** 是一种用于构建 Web 应用程序的开源框架,它使用 **Ruby** 编程语言编写而成。Rails 自发布以来,就以其优雅、高效及易于使用的特性受到开发者...

    Ruby on Rails Web开发之旅.pdf【第二部分】

    《Ruby.on.Rails.Web开发之旅》,作者:【德】Patrick Lenz,翻译:王德民、刘昕、裴立秋,出版社:人民邮电出版社,ISBN:9787115188526,PDF 格式,大小 144 Mb,被压缩为 3 部分,本资源是第二部分;第一部分下载...

    Ruby on Rails Web开发之旅.pdf【第一部分】

    《Ruby.on.Rails.Web开发之旅》,作者:【德】Patrick Lenz,翻译:王德民、刘昕、裴立秋,出版社:人民邮电出版社,ISBN:9787115188526,PDF 格式,大小 144 Mb,被压缩为 3 部分,本资源是第一部分;第二部分下载...

    Ruby on Rails Web开发之旅.pdf【第三部分】

    《Ruby.on.Rails.Web开发之旅》,作者:【德】Patrick Lenz,翻译:王德民、刘昕、裴立秋,出版社:人民邮电出版社,ISBN:9787115188526,PDF 格式,大小 144 Mb,被压缩为 3 部分,本资源是第三部分;第一部分下载...

    Ruby on Rails: the scope method

    ### Ruby on Rails: The Scope Method 在Ruby on Rails框架中,`scope`方法是一个非常强大的工具,用于定义数据库查询的预设条件,从而简化代码并提高可读性和可维护性。下面将详细介绍`scope`方法的基本概念、用法...

    ruby on rails环境搭建学习笔记;passenger+nginx环境配置

    ### Ruby on Rails 环境搭建与 Passenger+Nginx 配置详解 #### 一、Ruby on Rails 开发环境搭建 在进行 Ruby on Rails 的开发之前,首先需要完成一系列的基础软件安装工作,包括但不限于 Ruby 语言环境、Rails ...

    Addison.Wesley.Rails.AntiPatterns.Best.Practice.Ruby.on.Rails.Refactoring

    《Rails反模式:最佳实践与Ruby on Rails重构》是一本由Chad Pytel和Tammer Saleh撰写的书籍,深入探讨了在Ruby on Rails开发过程中常见的反模式,并提供了相应的最佳实践和重构策略。本书旨在帮助开发者识别并避免...

    深入浅出.Ruby.on.Rails

    ### 深入浅出 Ruby on Rails:关键知识点解析 #### 一、Ruby on Rails 简介 **Ruby on Rails**(简称 Rails 或 RoR),是由 David Heinemeier Hansson 创建的一个开源 Web 开发框架,它基于 Ruby 语言。Rails 的设计...

    Ruby For Rails(英文版)(清晰文字pdf)

    - **书籍定位**:《Ruby for Rails》被广泛认为是学习Ruby语言的必读之作,特别是对于那些希望利用Ruby on Rails(RoR)进行高效Web开发的学习者而言。这本书是所谓的“Ruby三神书”之一,其他两部分别是《Agile Web...

    Ruby_on_Rails实践.rar

    总结来说,Ruby on Rails实践涉及的内容广泛,包括Ruby语言基础、Rails框架的MVC架构、内置工具的使用、路由配置、设计模式、测试以及社区资源的利用。深入理解并熟练运用这些知识点,将能有效提升开发效率,构建出...

    inflection:Ruby on Rails的inflector到Python的移植

    总结来说,拐点库是Python开发者的一个实用工具,它带来了Ruby on Rails中的Inflector功能,让Python开发者也能享受到便捷的字符串处理体验。无论是在Web开发还是数据处理场景,它都能显著提高代码的可读性和效率。...

    Ruby on Rails实现最基本的用户注册和登录功能的教程

    通过以上步骤,我们已经成功地使用Ruby on Rails和`has_secure_password`特性实现了用户注册与登录的基本功能。这种方法不仅简洁高效,而且安全性较高,适用于大多数Web应用程序的需求。在实际开发过程中,还可以...

    Ruby-Rails的Clojurescript集成类似于webpackrails

    Ruby on Rails 是一个广受欢迎的Web开发框架,它以其生产力和灵活性著称。在现代Web开发中,前端JavaScript的处理和打包变得越来越重要,而ClojureScript是一种基于Clojure语言的JavaScript编译器,它提供了丰富的...

    Ruby-这是一个在Rails应用程序中使用React并使用webpack的示例

    在Ruby开发领域,Web开发框架Rails(Ruby on Rails)因其高效和简洁的代码风格而备受开发者喜爱。近年来,随着前端技术的发展,JavaScript库如React在构建用户界面方面展现了强大潜力。本示例将探讨如何在Rails应用...

    angularu-todomvc-rails:带有Ruby on Rails的TodoMVC for AngularU演示

    【标题】"angularu-todomvc-rails"指的是一个基于AngularJS和Ruby on Rails的TodoMVC示例项目,主要用于AngularU的演示。这个项目结合了两种强大的开发框架,展示了如何在实际应用中构建可扩展、模块化的前端与后端...

Global site tag (gtag.js) - Google Analytics