`
hideto
  • 浏览: 2690802 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Rails宝典之第三十五式: 自定义REST动作

    博客分类:
  • Ruby
阅读更多
REST将我们的controller限制到7个actions(index/show/new/create/edit/update/desctroy)
这次我们就来看看怎样添加自定义的actions
class TasksController < ApplicationController
  def idnex...

  def show...

  def new...

  def create...

  def edit...

  def update...

  def destroy...

  def complete
    @task = Task.find(params[:id])
    @task.update_attribute :completed_at, Time.now
    flash[:notice] = "marked task as complete"
    redirect_to completed_tasks_path
  end

  def completed
    @tasks = Task.find(:all, :conditions => 'completed_at IS NOT NULL')
  end
end

我们创建了两个方法,我们需要修改routes.rb:
map.resources :tasks, :collection => { :completed => :get }, :member => { :complete => :put}

现在我们可以访问http://localhost:3000/tasks;completed了
我们来看看页面中怎样写该链接:
<%= link_to "Mark as complete", complete_task_path(task), :method => :put %>
<%= link_to "Completed Tasks", completed_tasks_path %>
分享到:
评论
5 楼 ziyoujiedao 2008-01-24  
OK,明白,谢谢hideto
4 楼 hideto 2008-01-23  
不是不可以带参数,而是不带id,但可以带别的参数啊
close_movie_infos_path(:a => 1, :b => 2)生成的url -》/movie_infos/close?a=1&b=2
close_movie_info_path(:id => @movie_info, :a => 1, :b => 2)生成的url -》/movie_info/1/close?a=1&b=2
3 楼 ziyoujiedao 2008-01-23  
哦,大概明白了,那写在collection中的话,close_movie_infos_path不可以带参数了吧  例如close_movie_infos_path(movie_info)
2 楼 hideto 2008-01-22  
rake routes
看一下生成的named routes的方法名就知道了,应该为close_movie_infos_path

因为你是定义在:collection中而不是:member中,前者生成的routes为复数,后者则为单数
1 楼 ziyoujiedao 2008-01-22  
多个自定义action用GET方式请求,怎么写?
:collection => { :query => :get,:close => :get}可以这样写吗?
map.resources :movie_infos, :collection => { :close => :get}这样时,close_movie_info_path这样写出错

相关推荐

    Rails上的API:使用Rails构建REST APIAPIs on Rails: Building REST APIs with Rails

    在本篇内容中,我们将深入探讨如何利用Ruby on Rails(简称Rails)这一强大的Web应用程序框架来构建可伸缩且易于维护的RESTful API。Rails以其简洁优雅的语法、高效的开发速度以及良好的社区支持而闻名,这使得它...

    Rails的精简版本Rails::API.zip

    Rails::API 是 Rails 的精简版本,针对不需要使用完整 Rails 功能的开发者。 Rails::API 移除了 ActionView 和其他一些渲染功能,不关心Web前端的开发者可更容易、快速地开发应用程序,因此运行速度比正常的 Rails ...

    Rails中应用Ext.tree:以中国的省市地区三级联动选择为例

    在Ruby on Rails(Rails)框架中,开发人员经常需要实现各种...通过学习这个实例,开发者可以掌握如何在Rails应用中集成第三方库,处理层级数据,以及创建交互式的前端界面。这对于提升Web应用的用户体验非常有价值。

    跨越边界:REST on Rails

    Ruby on Rails是一个突然流行起来的框架,充当着Ruby编程语言的催化剂。随着Ruby的经验不断成功,开发人员开始寻求把他们的Ruby应用程序与用其他语言编写的应用程序集成。Rails对Web服务提供了优秀的支持。本文介绍...

    exception_handler::bomb:自定义错误页面:bomb:Ruby on Rails→将RubyRails异常转换为品牌的4xx5xx HTTP错误页面

    拥有290,000多个下载量,这是*唯一* gem,可为Rails 5和6提供自定义的400/500异常页面 当前 (2018年8月) :memo: - :warning_selector: - :wrench: - :telephone_selector: - :white_medium_star: :memo: 介绍 ...

    :bomb:自定义错误页面:bomb:Ruby on Rails→将Ruby / Rails异常转换为品牌4xx / 5xx HTTP错误页面。-Ruby开发

    下载次数超过290,000,这是为Rails 5和6提供自定义400/500异常页面的“唯一”宝石,ExceptionHandler目前是CUSTOM Rails错误页面的最受欢迎的异常宝石。 拥有290,000多个下载量,这是为Rails 5和6提供自定义400/500...

    Rails 101 入门电子书

    - 学习如何创建第一个Rails应用程序。 - **过程**: - 创建新项目。 - 设置数据库配置。 - 创建控制器和视图。 - 在浏览器中查看结果。 #### 六、Rails的路由 - **概念介绍**: 路由是连接用户请求URL与应用...

    simple_form_extension:自定义简单表单输入和强大的Rails表单组件

    此gem将自定义常用输入类型添加到简单形式。 可用输入 可以使用以下定制的简单表单输入: 布尔值 collection_check_boxes collection_radio_buttons 约会时间 文件 图像 数字 编辑器 选择 滑杆 颜色 这些输入中的...

    rails_rest_vote:RESTful投票宝典,用于Rails应用

    如果您在Web应用程序中以及移动应用程序中使用了诸如angular2之类的任何前端客户端,那将非常有帮助。 先决条件 启用CORS 如果要构建公共API,则可能要启用跨域资源共享(CORS),以使跨域AJAX请求成为可能。 ...

    Ruby on Rails入门例子

    Ruby on Rails,简称Rails,是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本篇将通过一个入门实例,深入探讨Rails的基本概念和核心...

    Ruby on Rails 指南 v5.0.1 中文版

    - **前提条件**:为了能够顺利地开始Rails的学习之旅,读者需要具备一定的Ruby语言基础,并且对Web开发有一定的了解。 - **Rails是什么?**:Rails是一种用于开发服务器端应用程序的模型-视图-控制器(MVC)框架,它...

    Ruby on Rails入门经典代码

    Ruby on Rails,简称Rails,是基于Ruby语言的一个开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习...

    Rails相关电子书汇总

    4. **路由(Routes)**:Rails的路由系统将URL请求映射到特定的控制器动作,实现了URL和应用逻辑之间的解耦。 5. **辅助方法(Helper Methods)**:为视图提供便利的功能,如链接生成、样式辅助等。 6. **Scaffold...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    ### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...

    rails 项目起步示例

    10. **vendor**:第三方库和依赖项的存放位置。 在购物系统(shopping_system)这个项目中,你可能会遇到以下概念和技术: - **ActiveRecord**:Rails内置的ORM(对象关系映射)工具,负责与数据库的交互。 - **...

    RESTful Rails Development

    5. **统一的接口**:REST 定义了一组标准的操作(CRUD:Create, Read, Update, Delete),这有助于简化客户端和服务端的交互。 #### 1.3 最新发展 随着技术的进步和 Ruby on Rails 框架的发展,RESTful 开发变得...

    rails本地安装包完整版

    Rails 2.1.0引入了许多新特性,例如活动记录(ActiveRecord)的自动保存关联、部分渲染以及自定义验证选项等。 7. **activerecord-2.1.0.gem**:ActiveRecord是Rails中的ORM(对象关系映射)库,负责将数据库表映射...

Global site tag (gtag.js) - Google Analytics