ROR学习笔记06.12.17

=========
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 方法的返回值)的任何字符串

你可能感兴趣的:(sql,框架,css,Flash,Rails)