0 0

rails2.1在Controller中手工增加方法的问题(初学者的问题)5

接照《Rolling with Ruby on Rails》示例来做的。
执行
ruby script\generate scaffold recipe title:string instructions:string description:string date:date
后,在生成的recipes_controller.rb文件中增加一list方法,URL中
http://localhost:3000/recipes/list
访问时,提示如下信息
ActiveRecord::RecordNotFound in RecipesController#show
Couldn't find Recipe with ID=list
RAILS_ROOT: E:/ruby/sites/myapp

它可能无法与“http://localhost:3000/recipes/7”即显示某一条记录详细情况的URL区分开。
难道用ruby script\generate scaffold 生成的controller中就不能再增加其它方法了吗?如果能的话,怎么才能增加上呢?
这个问题郁闷了我好久,一直没找到合适的资料说明。
盼高手出手相助,或者推荐相关的资料(我用的是ruby 1.8.6,rails2.1)

2008年6月19日 08:42

2个答案 按时间排序 按投票排序

0 0

采纳的答案

我再来补充一下,以上的方法是可行的,但是在rails2.1中,有更好的方法来实现这个。

map.resources :managers, :member => { }, :collection => { :login => :get }


它的意思是指明除了controller中自动生成的7个方法外,要加上自己的方法,就用这个来实现,member和collection相信你看名字就知道是什么意思了吧。

2008年6月20日 11:32
0 0

在Rails2.1中,新增一个action有些麻烦,你得自己配置一下config/routes.rb路由文件,举例如下:
我用generate scaffold生成了Manager,现在我想自己在managers_controller.rb中新增一个action,叫login,那么请在routes.rb中找到

map.resources :managers

在它的前面加上
map.connect("managers/login", :controller => 'managers', :action => "login")


然后,重启web服务器,再访问http://localhost:3000/managers/login应该没有问题了。

2008年6月20日 09:18

相关推荐

    RAILS2.1的中文版资料

    ### RAILS2.1的中文版资料:新特性与改进详解 #### 概述 《RAILS2.1的中文版资料》是一份针对Ruby on Rails 2.1版本的详细介绍文档,由Carlos Brando和Marcos Tapajós共同编写,并由中国Rails社区成员翻译成中文...

    What’s New In Rails 2.1

    在Rails 2.1中,ActiveRecord引入了一系列改进,其中最值得注意的是`sum`方法的新特性。 ##### `sum`方法表达式支持 现在可以在ActiveRecord的方法(如`sum`)中使用表达式进行计算,这为开发者提供了更大的灵活性...

    ruby on rails 2.1新特性介绍

    - **基于UTC的迁移**:在Rails 2.1中,所有的数据库迁移默认使用协调世界时(UTC)进行时间戳标记,这有助于避免因时区不同导致的数据一致性问题。 #### ActionPack和ActionController改进 - **增强缓存机制**:...

    ruby on rails 2.1 what is new (CN)

    在Rails 2.1中,模型类现在内置了修改追踪功能。这意味着开发人员可以很容易地检测到模型对象的哪些属性发生了改变,这对于实现审计日志或者保存前的数据验证非常有用。例如: ```ruby class User before_save :...

    rails2.1與Oracle 連結所需gem

    标题“rails2.1与Oracle连接所需gem”指的是在Rails 2.1版本的应用程序中,如何配置和使用Oracle数据库的宝石(gem)扩展。Rails是Ruby on Rails框架的简称,是一个流行的开源Web应用程序框架,而Oracle则是一种企业...

    rails 2.1 CHM api文档

    rails 2.1的api文档,chm格式,官方最新版

    rail 2.1 chm

    在Rails 2.1中,ActiveRecord增强了许多功能,如动态属性、更好的关联处理和更强大的查询接口。例如,`find_by_*`方法的引入,使得查询更加便捷,而`has_many :through`关联则允许通过中间表来建立多对多关系。 2. ...

    Rails相关电子书汇总

    此压缩包中的"rubyonrails21-cn.pdf"可能是《Ruby on Rails 2.1中文版》这本书的电子版,这本书详细介绍了Rails 2.1版本的特性、使用方法以及开发流程。 Rails框架的核心概念包括: 1. **ActiveRecord**:这是...

    Rails3常用命令行命令

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

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

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境...无论是初学者还是经验丰富的开发者,Aptana+Rails都会是一个理想的选择。

    Agile Web Development With Rails 3rdEdition

    - 作者们在Rails社区中享有盛誉,他们不仅是Rails框架的核心贡献者,也是敏捷开发理念的积极倡导者。 - 本书的编写得到了这些专家的支持和贡献,因此可以作为学习Rails的最佳指南之一。 5. **版权与商标声明**: ...

    Rails的中文乱码问题

    标题中的“Rails的中文乱码问题”涉及到的是在使用Ruby on Rails框架开发Web应用时,遇到的中文字符编码不正确的问题。Rails是一个基于Ruby语言的开源Web开发框架,它遵循MVC(Model-View-Controller)架构模式。在...

    Agile Web Development with Rails 3nd Edition Beta

    特别需要注意的是,在许多章节中,屏幕截图尚未更新以匹配 Rails 2.1 的结果。 #### Rails 的持续发展 Rails 核心团队仍在对 Rails 2 进行开发。随着时间推移,新版本可能会引入与之前版本不兼容的应用程序。为了...

    Agile Web Development with Rails 3nd Edition Beta.pdf

    为了探索这些变化,Rails开发者通过Edge Rails(在第244页及以后章节中讨论)提供了实验性的代码更新。除非用户明确安装或选择使用这些实验性的代码,否则不会受到这些变化的影响。若决定运行Edge Rails的实验性代码...

    rails-beginner-s-guide

    《Rails初学者指南》是一本专为初学者设计的Rails框架学习资源,旨在帮助初学者快速入门Web开发,并以清晰的概念和紧凑的结构,掌握Rails的基础和进阶知识。 本书首先介绍了Rails框架的基本概念,包括Active Job的...

    Ruby on Rails中文指南

    Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在提升开发效率和代码的可读性。Rails以其“约定优于配置”的设计理念,以及“DRY(Don't Repeat ...

    中文版rails教程

    Rails社区活跃,有许多优秀的资源可以帮助初学者快速上手。 总的来说,Ruby on Rails是一个强大的开发工具,它简化了Web应用的构建过程,让开发者可以更专注于创新和解决问题,而不是琐碎的配置和代码复写。通过...

    rails 项目起步示例

    Rails是Ruby语言的一个著名Web开发框架,全称为Ruby on Rails,它遵循MVC(Model-View-Controller)架构模式,旨在提高开发效率和代码可读性。...在实际操作中,参考Rails的官方文档和社区资源将是提升技能的好方法。

    Ruby On Rails中文教材(PDF)

    7. **Helper方法**:Rails提供了许多内置助手方法,帮助开发者在视图中处理复杂的逻辑和呈现数据。 8. **ActiveSupport库**:包含许多有用的工具方法和实用程序,如时间格式化、字符串操作等,大大提升了开发效率。...

Global site tag (gtag.js) - Google Analytics