活动通小结 ruby on rails 认证登录模块_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > 活动通小结 ruby on rails 认证登录模块

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

 2014/8/10 14:04:27  tianlitao  程序员俱乐部  我要评论(0)
  • 摘要:做活动通以前没有接触过ruby语言,所以刚开始做活动通的时候比较茫然,后来先粗略的学习了一下ruby的语言,还是有很多不理解的地方,先直接拿过来用,等以后做完活动通了在回过头来理解一下ruby语言的运行机制。我前面已经写了怎样用rails新建一个工程,在这里不再赘述,如有需要可以看我前面的两篇博客。这里我主要讲一下在做活动通中遇到的一些难点,以及问题。1.关于routing运行项目会首先从public里面找静态的页面如果找到直接返回webserrver,如果没有找到会进入到rails代码
  • 标签:活动 rails Ruby

做活动通以前没有接触过ruby语言,所以刚开始做活动通的时候比较茫然,后来先粗略的学习了一下ruby的语言,还是有很多不理解的地方,先直接拿过来用,等以后做完活动通了在回过头来理解一下ruby语言的运行机制。我前面已经写了怎样用rails新建一个工程,在这里不再赘述,如有需要可以看我前面的两篇博客。这里我主要讲一下在做活动通中遇到的一些难点,以及问题。

1.关于routing

运行项目会首先从public里面找静态的页面如果找到直接返回web serrver,如果没有找到会进入到rails代码,进入routing,routing会告诉它往哪走,也就是说如果有请求链接,通过routing就能够决定我们到底要执行哪个controller,还有哪个controller里的哪个action,然后controller会从model中取数据,然后返回给view

路由里的几个方法

get 不修改服务器上的内容,只是从服务器上取到数据

post ?修改服务器上的内容

put 更新服务器上的内容

delete 删除服务器上的内容

举个例子

class="java" name="code">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 进行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没多长时间,如果有任何问题,欢迎指正。

?

?

?

上一篇: CSLA多语言设置 下一篇: 没有下一篇了!
发表评论
用户名: 匿名