本文参考了一些网上的相关资料。
二级联动菜单即是第二级菜单根据第一级菜单的选择进行相应的改变。
Rails实现如下,首先是View中的相关代码:
xml 代码
- <tr>
- <td bgcolor="#FFFFFF">居住地区:<span class="alarm">*span>td>
- <td bgcolor="#FFFFFF">
- <%= select(:city, :name, @cities, {}, { "onchange" => remote_function(
- :with => "'parent_id='+value",
- :update => 'next_select',
- :url => { :action => :select_with_ajax } ) })%>
-
- <span id='next_select'>span>
- select> <span class="gray">正确填写可以帮你快速找到同城的宝宝和信息。span>td>
- tr>
需要注意的一点是select中的第四个参数 {} 是必须保留的,网上很多没有成功的例子就是忽略了这个。因为Rails API中select方法的定义是这样的:select(object, method, choices, options = {}, html_options = {})。
controller中的方法如下:
ruby 代码
- def select_with_ajax
- @areas = City.find(:all, :conditions => ["parent_id = ?", params[:parent_id]]).collect { |city| [city.name, city.id] }
- render(:layout => false)
- end
这里根据参数中传递的parent_id生成2级列表。
select_with.ajax.rhtml代码如下:
ruby 代码
- <%= select(:area, :name, @areas) %>
这样就简单在Rails中实现了二级联动菜单。
分享到:
- 2007-07-22 18:04
- 浏览 6558
- 评论(3)
- 论坛回复 / 浏览 (2 / 7123)
- 查看更多
相关推荐
在Ruby on Rails(Rails)框架中,开发人员经常需要实现各种用户交互功能,例如三级联动选择,这在处理地理区域数据时尤其常见。本篇我们将深入探讨如何在Rails应用中利用Ext.js库的tree组件来创建一个中国省市地区...
在Rails中使用SSL(安全套接层)是构建Web应用时确保数据传输安全的重要步骤。Rails框架支持在应用程序中轻松集成SSL,以保护用户敏感信息,如登录凭据和支付详情。以下是一些关于在Rails中实施SSL的关键知识点: 1...
标题 "在Rails中使用RSpec生产CHM文档" 暗示了这个话题是关于如何在Ruby on Rails(简称Rails)框架中使用RSpec测试工具来创建帮助文档,特别是以CHM(Microsoft Compiled HTML Help)格式。CHM文件是一种常见的...
7. **哈希与符号化键(Hashes and Symbolized Keys)**:在Rails中,使用符号作为哈希键可以提高性能,因为符号是不可变的,且在内存中只存储一次。 8. **部分视图(Partials)**:部分视图是可重用的视图代码块,...
在Rails中,**模型(Model)** 负责处理数据和业务逻辑,通常与数据库交互。在这个"blog"程序中,可能会有一个`Post`模型来代表博客文章,包含了如标题、内容、作者等属性,并提供相关的操作,如创建、更新、删除...
shoppe-example, 在 Rails 中使用Shoppe平台的示例存储实现 这是一个 Rails 应用程序,它使用 Shoppe 构建。 它具有一个可以爱的设计,以充分演示Shoppe平台提供的功能以及它在 Rails 应用程序中的。 正在启动要开始...
安装过程中,遵循提示进行,确保选择自定义安装并勾选Rails相关的插件,以便在Aptana中获得对Rails的全面支持。 安装完成后,打开Aptana Studio,创建一个新的Rails项目。在“File”菜单中选择“New”然后点击...
- 如何在Rails中实现RESTful接口。 - **案例分析**: - 分析一个典型的RESTful应用示例。 #### 九、练习作业2-在Group里面发表文章-双层RESTFul - **目标**: - 在Group中添加Post功能。 - **实现过程**: - 创建...
在Rails项目中安装Mongrel通常通过RubyGems进行,这是一个Ruby的包管理器。首先确保RubyGems已经安装,然后在命令行执行以下命令: ```bash gem install mongrel ``` 安装完成后,可以通过`mongrel_rails`命令来...
在描述中提到的"Knock"是一个专门为Rails API设计的库,它帮助开发者实现JSON Web Token(JWT)的身份验证,这是一种安全的身份验证机制,适用于无状态API。 JWT是一种轻量级的认证协议,它允许服务器向客户端发送...
这篇博文“rails中使用javascript日期控件”探讨了如何在Rails应用中集成和使用JavaScript日期选择器,以实现更高效、友好的前端交互。 首先,我们需要了解JavaScript日期控件的基本概念。JavaScript是一种在客户端...
此外,书中还介绍了一些Rails中的高级概念,如Strong Parameters(强参数),它在Rails 4.0版本中引入,用于解决之前版本中的参数篡改问题,从而帮助开发者安全地处理外部提交的数据。 通过一系列的教学内容,包括...
以下是如何在Rails中实现国际化: 1. **创建翻译文件**:在`config/locales`目录下,为每种语言创建一个对应的YAML文件,例如`en.yml`(英语)和`zh-CN.yml`(简体中文)。 2. **定义翻译键值对**:在这些YAML文件...
rails-assets, 在 Rails 中,资产管理的解决 Rails 资产 Bundler 到 Bower 代理本自述文件涉及项目的开发方面。 访问站点了解如何在你的应用程序中使用 Rails 资产。 插件开发设置git clone git@github.com:tenex/r
Lite Cable 提供了一种简单而强大的方式,让你能够在不依赖Rails的环境中实现ActionCable的功能。这使得它可以应用于更广泛的项目,无论是简单的Web应用还是需要高性能实时通信的复杂系统。通过深入理解Lite Cable的...
在Rails中,可以在`config/application.rb`或`config/environments/development.rb`中设置`config.encoding = "utf-8"`。 4. **数据库连接**:确认数据库连接器(如ActiveRecord)的连接参数中包含正确的字符集配置...