`

Rails查询结果判断

阅读更多
def search
          title = params[:product][:keyword]
         author_name = params[:product][:author_name]
         @products = Product.find(:all, :conditions => [ "title LIKE ? and author_name LIKE ? "  , "%#{title}%", "%#{author_name}%" ] )

         respond_to do |format|
        if @products == nil  || @products == ""#验证product对象不为空
          flash[:notice] ="can not find the product!"
         format.html{redirect_to(products_url)}
         format.xml  { render :xml => @products }
      else  if title == nil || title == ""  #验证表单不为空
         flash[:notice] = "keyword can not be blank !"
        format.html{redirect_to(products_url)}
        format.xml  { render :xml => @products }
   
   else
      if @products == nil
       flash[:notice] == "can not find!"
      else
        flash[:notice] = "find the product for you!"
        format.html#{ redirect_to(search_products_url(@products)) }
        format.xml  { render :xml => @products }
   end
   end
    end
  end
  end


但是一直都执行不了  if @products == nil  || @products == ""#验证product对象不为空
以及 else
      if @products == nil

其实:all的时候返回的是一个数组 数组为空 可以用@products.empty? 来判断

或者用@products.length > 0来判断

如果是一个对象 也就是object 可以用@products.nil?来判断

而且
find_by_id#没有返回就会出错
分享到:
评论

相关推荐

    Ajax on Rails

    **Ajax on Rails** 是一本关于如何在Rails框架中利用Ajax技术来提升Web应用程序用户体验的书籍。Ajax(异步JavaScript和XML)技术允许开发者在不刷新整个页面的情况下更新部分网页内容,从而提供更流畅、响应更快的...

    rails-beginner-s-guide

    书中还涉及了如何使用Rails的路由帮助方法,如何在路由中加入条件判断,以及如何使用Rails的路由命名空间和作用域来组织代码。 路由系统与Rails的Action Controller紧密相连,Action Controller是Rails中负责处理...

    rails2

    ### Ruby on Rails (Rails2) 关键知识点解析 #### Ruby on Rails 概述 - **Ruby on Rails**(简称 Rails 或 RoR)是一种基于 Ruby 语言的 Web 开发框架,它采用模型-视图-控制器(Model-View-Controller, MVC)架构...

    Agile Web Development with Rails中文版 3rd Edition

    使用Ajax判断购物车是否为空,并相应地隐藏或显示购物车。 **9.5 迭代D5:JavaScript被禁用时的对策** 为不支持JavaScript的用户提供一种备选方案。 **9.6 我们做了什么** 总结了本章的重点内容,回顾了使用Ajax...

    Wiley.Ruby.on.Rails.Bible.Oct.2008

    这意味着读者在阅读时需要结合自身情况进行判断。 ### 关键知识点总结 1. **Ruby on Rails简介**:介绍了Ruby on Rails的基本概念、特点及其MVC架构模式。 2. **安装与配置**:详细讲解如何在不同的操作系统上安装...

    Maintainable Rails View

    例如,判断当前用户是否有编辑权限的功能可以通过辅助函数实现。 - **示例**: ```erb (post) %> ("Edit", edit_post_path(post)) %> ``` 2. **预装饰辅助函数**:对于常用字段的操作,可以提前定义辅助...

    Rails 中页面中常用函数

    6. **`if`和`unless`**:用于条件判断。如`<% if @items.any? %> ... <% end %>`, 可以根据实例变量`@items`是否为空决定是否显示某些内容。 7. **`cycle`**:在循环中交替输出值,常用于背景颜色切换。如`['red', ...

    数据结构实验 队列 Rails 火车进站有几种出站顺序

    此外,为了提高用户体验,我们还可以设计一个简单的命令行界面,让用户能够方便地输入火车数量和出站序列,程序实时反馈结果。这不仅能够帮助用户理解队列数据结构的工作原理,还能让他们在实践中学习编程和逻辑思考...

    7-享洗-Rails 代码规范1

    - **1-4 循环和判断语句**:如果循环或判断中有长表达式,同样应在低优先级操作符处分行,并适当缩进,确保逻辑清晰。 - **1-5 单条语句原则**:避免将多个短语句写在同一行,确保每行只包含一条语句,提高...

    使用Ruby on Rails和PostGIS创建位置感知网站

    7. **查询优化**:PostGIS提供了强大的空间查询功能,如`ST_Distance`用于计算点之间的距离,`ST_Within`判断点是否在某一区域内等。利用这些函数,你可以实现高效的地理位置查询,如搜索附近的地点。 8. **安全性...

    Ruby-DeclarativeAuthorization一个授权Rails插件在同一个地方使用声明式DSL用于指定授权规则

    `方法在视图和模型中进行条件判断。这种设计使得权限检查贯穿于整个请求生命周期。 ### 四、标签解析 "Ruby开发-身份验证和OAuth"标签表明,这个插件是Ruby开发的一部分,关注的是身份验证和OAuth(开放授权)相关...

    Rails---Practice

    8. **辅助方法**:在视图中提供额外的功能,如链接生成、条件判断等。 9. **Gemfile和Bundler**:管理项目依赖,通过Bundler确保所有依赖项的版本一致。 10. **测试**:Rails提供测试套件,包括Unit Tests、...

    rails.girls.utrecht.2015:Rails Girls Utrecht 2015 闪电演讲

    1. 基本语法:讲解如何声明变量、操作数据类型,以及如何使用控制结构进行逻辑判断。 2. DOM操作:介绍Document Object Model(DOM),它是HTML和XML文档的结构化表示,以及如何使用JavaScript来查找、添加、修改和...

    04Ruby 条件判断.docx

    - `case` 语句首先对 `expression` 进行匹配判断,然后根据匹配结果选择执行相应的分支。 - 使用 `===` 运算符来进行条件匹配。 - 支持多个 `when` 子句,可以同时匹配多个条件。 - **示例**: ```ruby $age =...

    Ruby中相等性判断的4种方法

    ”,平常程序中都有使用,但是感觉对其缺乏深入理解,今天读 rails 部分源码的时候拿捏不定其中一个判断的意思,于是趁机深入研究了一番,总算觉得比较清楚了,今天做一下笔记,以作备忘。 “==” 最常见的相等性...

    栈和队列的基本操作实现及其应用

    * Rails 问题:使用栈可以解决 Rails 问题,即判断是否可以将火车 coaches 重新排列以满足一定的顺序。 四、栈和队列的实现和应用实例 本节提供了多个栈和队列的实现和应用实例,例如: * 实现一个算法,判断依次...

    Ruby on Rails在Ping ++ 平台实现支付

    ### Ruby on Rails 在 Ping++ 平台实现支付 在当今数字化时代,支付接口的重要性不言而喻。无论是电商平台、在线...此外,为了提高用户体验,还可以添加前端页面来显示支付进度和结果,使用户能够直观了解支付状态。

Global site tag (gtag.js) - Google Analytics