`
PBFox
  • 浏览: 67952 次
  • 性别: Icon_minigender_1
  • 来自: China
文章分类
社区版块
存档分类
最新评论

rubyonrails 下实现菜单级联

阅读更多
很多时候我们需要实现菜单的级联。那么在ROR中怎么实现: 首先 分别创建3个资源: ruby script/generate scaffold country name:string ruby script/generate scaffold city country_id:integer name:string ruby script/generate scaffold person country_id:integer city_id:integer name:string 他会分别创建国家、城市、人员3个资源 其次,创建数据库。 rake db:create创建数据库 rake db:migrate 迁移数据 第三,model建立关系 class City < ActiveRecord::Base belongs_to :country has_many :people end class Country < ActiveRecord::Base has_many :cities has_many :people end class Person < ActiveRecord::Base belongs_to :country belongs_to :city end 第四,修改app/views/layouts/people.rhtml,包含prototype: <%= javascript_include_tag 'prototype' %> 第五,修改people/new.html.erb <p> <b>Country</b><br /> <%= f.select (:country_id, Country.find(:all).collect {|c| [ c.name, c.id ] }, { :include_blank => true }, :onchange => remote_function(:update => "cities", :method => "get", :with => "'country_id=' + value + '&partial=select'", :url => { :controller => :cities, :action => :index})) %> </p><p> <b>City</b><br /> <div id="cities"> <%= f.select (:city_id, []) %> </div> </p> 第六,修改city_controller 的index方法: def index if params[:country_id] @cities = City.find(:all, :conditions => ["country_id = ?", params[:country_id]]) else @cities = City.find(:all) end respond_to do |format| format.html { render :partial => params[:partial]} format.xml { render :xml => @districts.to_xml } end end 第七:创建_select.html.erb模板 <%= select(:person, :city_id, @cities.collect {|c| [c.name, c.id]}) %>
分享到:
评论

相关推荐

    在不使用Devise的情况下在RubyonRails中实现API密钥.zip

    本教程将深入讲解如何在不使用Devise的情况下,在Ruby onRails中自定义API密钥认证机制。 首先,我们需要创建一个`api_keys`表来存储API密钥。运行以下命令生成迁移文件: ```bash rails generate migration ...

    rails2.0下实现《rubyonrails》中的mybook实例

    在这个实例中,我们将探讨如何在Rails应用中使用SQLite3数据库,通过`sqlite3.exe`这个小巧而强大的数据库管理工具来实现数据存储。SQLite3是嵌入式的数据库引擎,无需单独的服务器进程,非常适合用于开发阶段或者轻...

    rubyonrails

    通过阅读《rubyonrails.pdf》这份教程,你可以一步步学习如何安装Rails环境,创建第一个应用程序,设置数据库,编写控制器和视图,以及进行测试。随着对Rails的理解加深,你将能够构建出复杂、功能完善的Web应用。

    RubyOnRails做的博客

    在这个"RubyOnRails做的博客"项目中,我们可以看到作者用RoR实现了一个功能齐全的博客系统。下面将详细探讨RoR框架的核心特性以及在构建博客系统时可能涉及的关键知识点。 1. MVC架构:RoR中的MVC模式使得开发者...

    RubyOnRails教程中文版

    通过阅读"Ruby on Rails 敏捷开发实践.pdf"和运行"RubyOnRails教程中文版.exe",你可以深入了解Rails的各个方面,并逐步掌握这个强大的Web开发框架。不断实践,你将能够利用Rails快速构建高质量的Web应用。

    课程设计--在线考试系统。使用RubyonRails实现。在服务器上部署后可以由老师管理其考试,并发布给学生参加考试.zip

    课程设计--在线考试系统。使用RubyonRails实现。在服务器上部署后可以由老师管理其考试,并发布给学生参加考试。由于需要

    RubyOnRails的一个入门小例子

    标题 "RubyOnRails的一个入门小例子" 暗示了我们将探讨的是关于Ruby on Rails框架的基础知识,这是一个用于构建Web应用程序的开源工具。Ruby on Rails(简称Rails)是基于Ruby编程语言的,它遵循MVC(Model-View-...

    rubyonrails mysql安装详解

    ### Ruby on Rails与MySQL安装详解 #### 环境配置概览 本文将详细介绍如何在Ubuntu 10.10上从源代码编译安装Ruby 1.8.7、Rails 2.3.5以及MySQL 5.1,旨在为开发者提供一个稳定且高效的开发环境。...

    rubyonrails API文档

    rubyonrails API文档 好东东哦 【英文】

    rubyonrails的api文档

    ActiveRecord实现了对象关系映射(ORM),将数据库表映射为Ruby类,使得操作数据库如同操作对象一样简单。 3. **ActionController**:控制器处理HTTP请求,连接模型和视图。它负责接收请求数据,调用模型进行业务...

    RubyonRails开源博客Vrails.zip

    Vrails 是 Ruby on Rails 开源博客。方便想搭建自己博客平台的朋友使用,界面简洁美观,部署方便。示例代码:User.create( ...  username: "yourname",  password: "password",  password_confirmation: ...

    SmartAdmin1.8.7.5的RubyOnRails版本

    SmartAdmin在Ruby on Rails中的实现可能包括了预处理过的CSS和JS文件,可能已经配置好了Webpacker或Sprockets来处理前端资源,以及Bootstrap和其他前端库的集成。此外,它可能还提供了示例布局、小部件、图表和其他...

    RubyonRails九日学习计划

    RubyonRails九日学习计划(含相关软件及书籍)时间 内容 目的 第一天 学习oracle 基本工具掌握 plsql ,sql语言,范式,索引,数据库安全,数据备份,导入导出。 熟练掌握SQL语言 第二天 1. ruby 语言历史和...

Global site tag (gtag.js) - Google Analytics