用ruby on rails 做活动通有一段时间了,讲一下遇到的问题。
在客户端向服务器端发送数据,并接受返回值
客户端
$scope.upload = function () { $http.post('/upload.json', {"user": localStorage.user, "post": Activity.post_message()}).success(function (back) { if (back == 'true') { alert("成功") } }) }
服务器端
def upload Post.post_message(params[:user], params[:post]) respond_to do |format| format.json { render :json => 'true' and return } end end
路由
post "/upload" => "users#upload"
在实现这一功能的时候遇到了好几个问题,分别有406.422.和500错误
用rails s 可以看到数据已经post过去了,但是服务器端接受不了,可能的原因,传过去的格式不对,接收的格式不对。我之前upload没有限定格式,所以穿过去的数据接受不了,加上upload.json才能传过去,还碰到
500错误,经过查google资料原来是,rails的安全验证机制的问题,在users_controller最上面加一句话
protect_from_forgery with: :null_session, if: Proc.new { |c| c.request.format == 'application/json' }
protect_form_forgrty 是rails的一项功能,防止跨站请求伪造(csrf)攻击。这个功能是所有生成的表单中有一个隐藏的id字段,此id字段必须和存储的id相匹配否则表单提交不会被接收。这样可以防止在插入其他网站或表格形式的恶意XSS。
数据可以保存但返回的时候 会报错
respond_to do |format| format.json { render :json => 'true'} end
错误提示
AbstractController::DoubleRenderError in UsersController#upload
解决办法
format.json { render :json => 'true' and return } //双倍呈现异常,加上and return 解决
相关推荐
### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...
### Ruby on Rails 教程知识点概述 #### 一、引言 - **敏捷开发与Rails:** 本书《Ruby on Rails教程》强调了Rails作为敏捷开发框架的优势。它旨在帮助开发者快速构建高质量的Web应用程序。 - **作者团队:** 本书...
### Ruby on Rails 3 教程知识点解析 #### 标题与描述中的核心知识点 - **Ruby on Rails 3**:一种流行的Web开发框架,基于Ruby语言。 - **经典教材**:表明本书是学习Ruby on Rails 3的一个权威且广受好评的资源...
### Ruby on Rails 指南 v5.0.1 中文版 #### Rails入门 - **前提条件**:为了能够顺利地开始Rails的学习之旅,读者需要具备一定的Ruby语言基础,并且对Web开发有一定的了解。 - **Rails是什么?**:Rails是一种...
### Wrox - Beginning Ruby on Rails 知识点详解 #### 一、书籍基本信息与版权信息 - **书名**:《Beginning Ruby on Rails》 - **作者**:Steven Holzner - **出版社**:Wiley Publishing, Inc. - **出版地**:...
### Ruby on Rails傻瓜书知识点总结 #### 一、书籍基本信息 - **书名**:《Ruby on Rails傻瓜书》(英文原名:*Ruby on Rails For Dummies*) - **作者**:Barry Burd - **出版社**:Wiley Publishing, Inc. - **...
### Ruby on Rails心得 #### 一、概述与背景 陈刚撰写的《Ruby on Rails心得_V0.1》是一份非常宝贵的资料,旨在记录作者在学习Ruby on Rails过程中的所见所得,包括读书笔记、心得体会、自创教程及一些常见问题的...
### Ruby on Rails 手动安装知识点详解 #### 核心概念与背景 **Ruby on Rails**,简称**Rails**,是一种使用**Ruby**语言编写的开源全栈Web应用框架,遵循MVC(Model-View-Controller)架构模式,强调代码效率与...
### Ruby on Rails基础知识详解 #### 一、Rails简介与安装 **Rails** 是一款流行的开源Web应用框架,基于Ruby语言编写。它强调简洁性、生产力和优雅的设计,非常适合快速开发Web应用。 - **特点** - **DRY (Don'...
Ubuntu 下 Ruby On Rails 开发环境配置指南 在 Linux 操作系统中使用 Ruby On Rails 能够对 web 应用程序的维护和开发变得更加便利,让开发人员能更加专注于系统的逻辑结构。在使用前需先配置 Ruby On Rails 的开发...
### 基于Ruby语言的Ruby on Rails项目及其代码方案 #### 一、项目概述 本项目基于Ruby语言,利用Ruby on Rails(简称Rails)框架构建。Ruby on Rails是一款使用Ruby语言开发的应用程序框架,其核心是MVC(Model-...
Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和可读性,同时强调“约定优于配置”的原则。在本实例开发中,我们将探讨如何...
总结以上内容,Ruby on Rails快速Web应用开发实战的文档详细介绍了Ruby编程语言和Rails框架的安装、配置以及使用。它涵盖了从Rails的历史和版本发展到如何在不同操作系统上安装Rails,再到如何使用Rails进行Web应用...
### Ruby on Rails与J2EE:两者之间是否有共存的空间? #### 什么是Ruby on Rails? Ruby on Rails(简称Rails)是一种基于Ruby语言构建的相对新兴的Web应用框架。该框架被设计为现有企业级框架的一种替代方案,其...
### Ruby on Rails For Dummies #### 核心知识点解析 **1. Ruby on Rails 概述** - **定义与特点**:Ruby on Rails(简称 Rails 或 RoR)是一种基于 Ruby 语言的开源 Web 应用框架,它采用了 Model-View-...
### Ruby on Rails Web 敏捷开发第四版 #### 关于本书的重要信息 《Ruby on Rails Web 敏捷开发第四版》是一本专为希望深入了解 Ruby on Rails 的开发者编写的书籍。该书主要针对 Rails 3 版本进行讲解,因此对于...
### Ruby on Rails:背后的秘密与优势 #### 一、引言 《Ruby on Rails的秘密》是一份关于Ruby on Rails框架的高级介绍资料,由该框架的创始人David Heinemeier Hansson编写。这份资料深入探讨了Rails的核心理念和...
总结一下,这个“Ruby on Rails博客程序”将涵盖以下知识点: 1. Rails的MVC架构及其工作原理。 2. 使用ActiveRecord操作数据库。 3. 创建和管理Rails模型、视图和控制器。 4. URL路由配置。 5. Rails模板语言ERB的...