ROR学习笔记06.12.17

本文介绍了Rails应用中的实用技巧,包括使用optionhash优化SQL查询、页面跳转、flash消息传递、用户登录验证、分页显示等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

=========
06.12.17
=========
使用option hash,最后一个参数可以使用一个option hash,options 有:
:conditions 表示SQL语句中where子句后面的条件部分
:order 表示SQL语句中order by子句后面的部分
:limit 表示取回行的数量
:offset 设定偏移量
:select 设定SQL语句中select a,b,c from ... 中的abc部分
---------------------------
redirect_to(:controller => 'posts', :action => 'show', :id => 10)
浏览器就跳转到http://app_name/posts/show/10
--------------------------
flash在整个action pack 中共享,在template中,它写成@flash[key],在action中写成flash[key]
---------------------------
登入界面:
def login
    unless request.get?   //判断有无请求

    user = User.find(:all,:conditions=>"user='"+params[:user]+"'")
    if user.empty?
       render_text "此用户不存在"
    elsif user[0].password == params[:password]
       render_text "登入成功"
       session[:user] = user.id
    else
       render_text "密码错误"
    end
  end
end
login.rhtml
--------------------------------
身份验证:
class ApplicationController < ActionController::Base
before_filter :authorize,:except=>:login  #except 表示login action 不受限制
...
def authorize
    unless session[:user]
      redirect_to(:controller => "main", :action => "login")
    end
end
end
-----------------------------------
分页显示:

rhtml 代码
  1. <%= start_form_tag :action=>"login" %>  
  2.     name:<input name="user" type="text"><p>  
  3.     pswd:<input name="password" type="text"><p>  
  4.     <input type="submit" value="登陆">  
  5. <%= end_form_tag %>  


  

action:
def action_name
@pages, @records = paginate :table_name, :per_page => 10
end

rhtml 代码
  1. <% for element in @records %>  
  2. ......   
  3. <%= if @pages.current.previous   
  4. link_to("Previous page", :page => @pages.current.previous )   
  5. end   
  6. %>  
  7. <%= if @pages.current.next   
  8. link_to("Next page", :page => @pages.current.next )   
  9. end   
  10. %>  


---------------------------------------------
rails框架指南第二十章----文件上传
----------------
连接CSS样式表:


返回字符串,经过render(action 中 render_text 方法的返回值)的任何字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值