`
open2ye
  • 浏览: 101067 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

Rails 在搜索表单中用 OpenStruct

阅读更多
# in controller

require 'ostruct'

def index
  @search = OpenStruct.new(params[:search])
end


# in view

<% form_for :search, :url => {:action => "index"}, :html => {:method => :get} do |f| %>
  <%= f.text_field :quick %>
  <%= f.submit "Search" %>
<% end %>

简单, 喜欢
分享到:
评论
6 楼 hozaka 2010-02-12  
http://github.com/binarylogic/searchlogic
5 楼 Hooopo 2010-02-05  
引用
def index
  @search = OpenStruct.new(params[:search])
end


还可以在model里用,让model实例继承OpenStruct而不是ActiveRecord::Base..
class Post < OpenStruct
 undef id
 #...
end
4 楼 Hooopo 2010-02-05  
liusong1111 写道
用OpenStruct最大的问题是id方法不会代理到params[:id]上。

可以把object默认id undef掉的..
require 'ostruct'
class OS < OpenStruct;undef id;end

o = OpenStruct.new(:id => 11)
puts o.id#object_id

oo = OS.new(:id => 12)
puts oo.id#real id



3 楼 liusong1111 2010-02-02  
用OpenStruct最大的问题是id方法不会代理到params[:id]上。
2 楼 qichunren 2010-02-02  
form_for必须要一个class实例的参数,通过这个解决了,不错不错。
1 楼 up2u0609 2010-02-02  
刚好注意到这个OpenStruct,就看到这个帖子,这个挺酷的

相关推荐

    Ruby on Rails:Rails中的表单处理.docx

    Ruby on Rails:Rails中的表单处理.docx

    judge:Rails的客户端表单验证

    通过将许多ActiveModel::Validation功能移植到JavaScript,Judge可以轻松地对Rails进行客户端表单验证。 最常见的验证通过存储在HTML5数据属性中的JSON字符串进行,并且仅在客户端执行。 无论您在何处,Judge都为...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    rails2-sample

    同时,表单是Web应用中不可或缺的部分,Rails提供了丰富的API来处理表单的创建和验证。此外,布局(Layouts)允许开发者在多个页面中重用公共的HTML代码,如头部和尾部,从而提高开发效率。 #### 7. Ajax and Web ...

    Rails101_by_rails4.0

    随着Rails版本的更新迭代,此书聚焦于一个特定的版本,帮助开发者掌握在Rails 4.0环境下开发应用所需的关键技能。 书中介绍了Ruby on Rails安装的最佳实践,以及如何通过Git、编辑器和Linux命令行等前置技能的学习...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    - **学习路径**:继续深入学习Rails的高级特性,如Active Record模式、表单构建器等。 - **社区资源**:加入Rails官方论坛、Stack Overflow等社区获取帮助和支持。 #### 十一、文档编写技巧 - **重要性**:良好的...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    rails 项目起步示例

    在Rails项目中,我们首先需要了解的是项目的目录结构。一个标准的Rails应用会包含以下关键部分: 1. **app**:应用程序的核心,包括模型(models)、视图(views)和控制器(controllers)。模型负责业务逻辑和数据...

    rails向导打包

    4. **Rails 数据库迁移(Migrations)**: Migrations 是 Rails 中用于数据库结构版本控制的工具。它们允许开发者以编程方式添加、修改或删除表列,而不必直接操作 SQL。文件将涵盖创建、运行和回滚迁移,以及使用 `...

    rails敏捷开发的购物车系统

    在本文中,我们将深入探讨如何使用Rails敏捷开发技术构建一个购物车系统,特别是在参考《rails敏捷开发第四版》中的示例。Rails 3.2.6是本文的基础框架,它是一个强大的Ruby Web应用程序框架,以其MVC(模型-视图-...

    rails指南 中文版

    5. **Gemfile与Bundler**:Rails项目通常使用Gemfile来管理依赖库,Bundler工具则用于安装和管理这些依赖,确保在不同环境下项目的运行一致性。 6. **Scaffolding**:Rails提供了快速生成基本CRUD(Create, Read, ...

    Rails

    Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY(Don't Repeat Yourself)原则和开发效率。 Rails的核心特性包括: 1. **约定优于配置**(Convention Over Configuration):...

    Rails recipes

    在Rails Recipes中,作者们不仅关注技术层面的问题,还考虑到了程序员在实际开发过程中可能遇到的理论和思想上的困惑。他们试图通过书中的内容,让读者在解决问题的同时,能够获得更深层次的理解,这样的学习方式...

    Ruby on Rails实践

    此外,Rails的辅助方法如`link_to`和`form_for`,简化了视图中的链接和表单生成。 测试驱动开发(TDD)在Rails中被广泛采用。Rails内置了Test::Unit和RSpec等测试框架,开发者可以通过编写测试先于代码来确保程序的...

    Ruby on Rails Tutorial

    在这个全球互联的世界中,计算机编程和 Web 应用程序开发都在迅猛发展,我很期待能为中国的开发者提供 Ruby on Rails 培训。学习英语这门世界语言是很重要的,但先通过母语学习往往会更有效果。正因为这样,当看到 ...

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    Ruby on Rails 安装指南 Ruby on Rails 安装指南是指安装 Ruby 1.8.6 和 Rails 2.0.2 的详细步骤。首先,需要下载 Ruby One-Click Installer 版本,并安装 Ruby。然后,下载 Rails 2.0.2 版本,并安装。接下来,...

    simple_form:简化Rails的表单! 它与简单的DSL绑定,对标记无意见

    Rails表单变得容易。 简单表单旨在在帮助您使用功能强大的组件创建表单的同时尽可能地灵活。 Simple Form的基本目标是不触及定义布局的方式,而是让您为眼睛找到更好的设计。 大多数DSL都是从Formtastic继承的,...

    Rails3常用命令行命令

    在本文中,我们将深入探讨Rails3中的常用命令,帮助你更高效地进行开发工作。 首先,新建一个Rails项目是开发的起点。你可以使用以下命令创建一个新的工程: ```bash rails new 工程名 ``` 这会生成一个包含所有...

Global site tag (gtag.js) - Google Analytics