实际是在工作过程中假公济私的一个即兴滥涂。
在2.3.5里通过了,其他版本就不知道了。
module StubActiveRecord
class Base
def save
return valid?
end
def save!;end
def new_record?;false;end
def update_attribute;end
def self.human_name;"#{self.name.underscore}";end
def self.human_attribute_name(col)
"#{self.name.underscore}.#{col}"
end
def self.self_and_descendants_from_active_record;[self];end
#stub methods above
include ActiveRecord::Validations
def initialize(params={})
@errors = ActiveRecord::Errors.new(self)
end
end
end
require 'stub_active_record/base'
class UserRemote < StubActiveRecord::Base
NECESSARY_ATTR = [:name]
attr_accessor *NECESSARY_ATTR
validates_presence_of *NECESSARY_ATTR
validate :validate_via_api
def initialize(params={})
super
NECESSARY_ATTR.each do|attr|
instance_variable_set(:"@#{attr}", params[attr])
end
end
protected
def validate_via_api
# add other errors here.
end
end
class UsersController < ApplicationController
def new
@user = UserRemote.new
end
def create
@user = UserRemote.new(params[:user_remote])
if @user.save
#blablabla
else
render :action => 'new'
end
end
end
<% form_for @user do |form| %>
<%= form.error_messages %>
<%= form.text_field :name %>
<% end %>
分享到:
相关推荐
**Rails3**是Ruby on Rails框架的一个重要版本,它对之前的版本进行了大量的改进和优化,使其更加强大和灵活。Rails3的核心设计理念围绕着几个关键的概念,这些概念不仅帮助开发者编写更加简洁高效的代码,还使得...
Rails3 是 Ruby on Rails 框架的一个版本,它提供了一系列强大的命令行工具,使得开发者可以快速地构建和管理Web应用。在本文中,我们将深入探讨Rails3中的常用命令,帮助你更高效地进行开发工作。 首先,新建一个...
《Ruby on Rails 3 Tutorial》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的一个开源框架,它采用MVC(Model-View-...
### CentOS环境下Rails 3开发环境搭建详解 #### 一、准备工作与环境配置 ...通过以上步骤,您可以在CentOS系统上成功搭建一个完整的Rails 3开发环境。这对于初学者和专业开发者来说都是非常实用的知识点。
这意味着你可以在一个查询上连续调用这些方法,创建一个查询“关系”,例如: ```ruby new_users = User.order('users.id DESC').limit(20).includes(:items) ``` 这样的链式调用允许你在查询的不同阶段添加或修改...
这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何利用Rails的强大功能来创建一个允许用户上传、分享和浏览图片的应用。 1. **Rails框架基础**: Rails的核心理念是DRY(Don't...
例如,要在Rails应用中创建一个新的资源,如博客文章,你需要在models目录下创建一个名为`post.rb`的文件,定义Post类,并设置属性如标题和内容。在controllers目录下创建`posts_controller.rb`,定义控制器方法,如...
《Rails 3 in Action》是2011年由Ryan Bigg撰写的一本关于Ruby on Rails框架的权威指南,专门针对当时最新的Rails 3.1版本进行了深入解析。这本书旨在帮助开发者充分利用Rails 3.1的强大功能,提升Web应用开发的效率...
Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...
标题与描述概述的知识点主要集中在Rails 2与Rails 3之间的关键差异,这些差异涉及到脚本命令、配置文件以及路由的处理方式。以下是对这些知识点的详细解释与扩展: ### 脚本命令的变化 在Rails 2中,开发者通过一...
jquery-validation-rails, 对 Rails 资产管道的jQuery验证 :: 验证:: rails针对 Rails 资产管道的...安装这里 gem将以下行添加到项目的Gemfile 中:gem 'jquery-validation-rails'在你的终端中运行以下命令:cd ~/pa
标题与描述均提到了"rails3-railsconf2010",这表明内容主要聚焦于Rails 3在2010年的RailsConf会议上的关键更新与特性。Rails(Ruby on Rails)是一种用Ruby语言编写的开源全栈web应用框架,以模型-视图-控制器(MVC...
- 测试安装: 创建一个简单的Rails应用来验证是否成功安装。 #### 五、练习作业0-Hello World - **目标**: - 学习如何创建第一个Rails应用程序。 - **过程**: - 创建新项目。 - 设置数据库配置。 - 创建控制器...
标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...
Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架。Rails遵循MVC(模型-视图-控制器)架构模式,致力于“约定优于配置”和“Don't Repeat Yourself”(DRY)的...
随着Rails版本的更新迭代,此书聚焦于一个特定的版本,帮助开发者掌握在Rails 4.0环境下开发应用所需的关键技能。 书中介绍了Ruby on Rails安装的最佳实践,以及如何通过Git、编辑器和Linux命令行等前置技能的学习...
`GoOnRails`是专门为Rails开发者设计的一个生成器,它允许在Rails应用中集成Go代码,创建Go API服务。这个工具简化了在Rails项目中使用Go进行后端处理的流程,使开发者可以利用Go的性能优势处理高并发请求,同时保留...
- **步骤**:通过命令行使用`rails new project_name`来初始化一个新的Rails项目。 - **结构**:新项目将包含默认的目录结构,如`app`、`config`、`db`等,分别用于存放应用程序代码、配置文件、数据库迁移脚本等。 ...
Rails,全称为Ruby on Rails,是一个基于Ruby编程语言的开源Web应用程序框架,遵循MVC(模型-视图-控制器)架构模式。Rails以其“约定优于配置”(Convention over Configuration)和“Don't Repeat Yourself”(DRY...