`

ruby on rails 活动通小结

 
阅读更多

用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 解决

 

 

0
0
分享到:
评论

相关推荐

    ruby on rails 3.1.0数据库查询方法汇总

    本人学习总结的ruby on rails 3.1.0数据库类查询方法,比较全了

    Ruby on Rails Web开发之旅.pdf【第二部分】

    《Ruby.on.Rails.Web开发之旅》,作者:【德】Patrick Lenz,翻译:王德民、刘昕、裴立秋,出版社:人民邮电出版社,ISBN:9787115188526,PDF 格式,大小 144 Mb,被压缩为 3 部分,本资源是第二部分;第一部分下载...

    Ruby on Rails Web开发之旅.pdf【第一部分】

    《Ruby.on.Rails.Web开发之旅》,作者:【德】Patrick Lenz,翻译:王德民、刘昕、裴立秋,出版社:人民邮电出版社,ISBN:9787115188526,PDF 格式,大小 144 Mb,被压缩为 3 部分,本资源是第一部分;第二部分下载...

    Ruby on Rails Web开发之旅.pdf【第三部分】

    《Ruby.on.Rails.Web开发之旅》,作者:【德】Patrick Lenz,翻译:王德民、刘昕、裴立秋,出版社:人民邮电出版社,ISBN:9787115188526,PDF 格式,大小 144 Mb,被压缩为 3 部分,本资源是第三部分;第一部分下载...

    Ruby on Rails所构建的应用程序基本目录结构总结

    Ruby on Rails是Ruby世界中一家独大的Web开发框架,要掌握Rails程序的构建,对其目录结构的了解十分必要,下面就来看一下Ruby on Rails所构建的应用程序基本目录结构总结

    Ruby on Rails中MVC结构的数据传递解析

    如果读者已经开发过基于 Rails 的应用,但对其 MVC 间的数据传递还有诸多困惑,那么恭喜您,本文正是要总结梳理 Rails 数据传递的方法和技巧。Ruby on Rails 3(以下统称为 Rails 3)是当前的主要发布版本,本文所述...

    windows下安装ruby与rails时遇到的问题总结

    最近因为工作的需要,准备安装ruby on rails,在网上搜了下,步骤都类似,但实际安装过程中却碰到很多问题。 说明下:文章是按照我尝试的过程描述的。但最终是靠 运行 railsinstaller一键式安装包才成功的(第五段)...

    library_system_ruby:图书馆管理系统-Ruby on Rails

    结帐历史记录-适用于主页上的单个用户(“查看结帐历史记录”),也适用于所有管理员用户(转到“管理用户”,然后查看结帐历史记录)以及一本书(转到“所有图书/搜索书”) ,然后单击特定图书的“结帐历史记录”...

    RubyonRails九日学习计划

    参考资料《Ruby on Rails 实践.pdf》。 2. 搭建ruby on rails 开发环境并熟悉开发环境。用到的软件在《软件工具》目录。 3. 给学生展示《Ruby on Rails 实践.pdf》中的示例快速建立简单应用。 4. 指导学生...

    Windows下ruby语言安装教程

    第一步:下载安装文件 ...第二步: 双击安装 在安装的时候,请勾选... 您可能感兴趣的文章:Windows下Ruby on Rails开发环境安装配置图文教程windows和linux下Ruby的下载与安装windows下安装ruby与rails时遇到的问题总结

    RoR 培训课程PPT

    一个为期五天的Ruby on Rails课程的总结PPT非常适合初学者

    javaee登陆页面源码-rails_demo_post:rails_demo_post

    读起来也还好,毕竟有目标,自己也没有陷入细节之中,从第一份代码提交到现在,书翻完了,刚好一个月,也算是对自己的一份总结。 一边写rails 一边也在写Android,深入下来,感觉两者共通之处还是有的。但是一深入想...

    《[精通ASP.NET.MVC.5框架》高清带书签

    1.2.3 Ruby on Rails 4 1.2.4 Node.js 4 1.3 ASP.NET MVC的关键优点 5 1.3.1 MVC的体系结构 5 1.3.2 可扩展性 5 1.3.3 HTML和HTTP上的严密控制 6 1.3.4 可测试性 6 1.3.5 强大的路由系统 7 1.3.6 建立在ASP.NET平台...

    StudySessions:总结和讨论日语学习课程

    冈山露比(Ruby Okayama Ruby),Ruby on Rails研究小组 冈山Git用户组 仓敷市 Tenryo Kurashiki Scala 广岛 可可研究小组广岛分公司不规则 广岛市 广岛Ruby研究小组 Hiroshima.rb第一个星期六 广岛的C ++学习课程...

    Online_Voting_System

    在线投票系统是通过使用ROR(Ruby on Rails)和PostgreSQL作为后端数据库开发的,用于将签入和签出系统计算机化。 该项目仅涵盖总结所需的基本知识,因此开发“在线投票系统”的信息系统实在是一件很重要的事情。

    Covid-Assessment-Tool

    该应用程序利用Ruby,Ruby on Rails,JavaScriptReact,Redux,Baseweb,Google Maps API,自动完成和Google React组件。 本地设置指南 注意:如果您没有安装postgresql,请使用homebrew 安装。 可以在此处总结该...

    relay-rails-blog:由graphql,中继和标准rails应用程序提供支持的演示Weblog。 我们正在使用Graphql服务器和中继来满足我们的React组件数据需求

    由Rails,react,graphql和... 第5部分-将Webpack与react-on-rails集成 最终-总结 当前功能 列出帖子 列出帖子评论 无限滚动-帖子和评论 显示作者信息,投票和评论数 创建评论和投票的变异 编辑和更新评论 创建和删除

    littlejohn:罗宾汉克隆

    Ruby on Rails PostgreSQL JBuilder的 特征 帐户 使用BCrypt安全登录和注册 存入资金 演示登录 亮/暗模式 文件夹 投资组合主页面充当拥有和受关注股票的管理控制台,可通过侧栏进行访问。 单个股票和头寸会显示...

    growstuff:面向小规模粮食种植者的开放数据项目

    Growstuff 是用 Ruby on Rails 构建的,还使用 ​​JavaScript 作为前端功能。 我们欢迎贡献——有关详细信息,请参阅。 要设置您的开发环境,请参阅。 我们鼓励结,特别是对于新开发人员。 您可能也对我们的感...

Global site tag (gtag.js) - Google Analytics