`
glacier3
  • 浏览: 386166 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

rails cancan AssociationTypeMismatch

阅读更多
ActiveRecord::AssociationTypeMismatch (User(#70244306330580) expected, got String(#70244198919200)):
  activerecord (3.2.13) lib/active_record/associations/association.rb:204:in `raise_on_type_mismatch'
  activerecord (3.2.13) lib/active_record/associations/belongs_to_association.rb:6:in `replace'
  activerecord (3.2.13) lib/active_record/associations/singular_association.rb:17:in `writer'
  activerecord (3.2.13) lib/active_record/associations/builder/association.rb:51:in `block in define_writers'
  activerecord (3.2.13) lib/active_record/attribute_assignment.rb:85:in `block in assign_attributes'
  activerecord (3.2.13) lib/active_record/attribute_assignment.rb:78:in `each'
  activerecord (3.2.13) lib/active_record/attribute_assignment.rb:78:in `assign_attributes'
  activerecord (3.2.13) lib/active_record/base.rb:498:in `initialize'
  state_machine (1.2.0) lib/state_machine/integrations/active_record.rb:470:in `initialize'


如果遇到这个问题,那么请检查请求parameters里面是不是有一个Key-Value为"id": "",  如果有,请去掉。我这里用了cancan,配置了安全验证后,每个action都会去首先去取id为params[:id]的User。

代码:https://github.com/josevalim/inherited_resources/blob/master/lib/inherited_resources/base_helpers.rb#L51
def resource
        get_resource_ivar || set_resource_ivar(end_of_association_chain.send(method_for_find, params[:id]))
      end
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Rails3 device and cancan

    标题《Rails3 device and cancan》与描述《ROR ruby on rails device plugin教程》指出本文是关于如何在Rails 3.2应用程序中整合Devise认证插件和Cancan授权插件的教程。Devise是一个流行的Ruby on Rails的认证解决...

    ruby gems (rails ,padrino, cancan ,puppet)

    在提到的标题和描述中,我们聚焦于四个特定的Ruby Gems:Rails、Padrino、Cancan和Puppet。这些Gem分别在Web开发、轻量级框架、权限控制以及配置管理方面起着重要作用。 Rails是Ruby on Rails的简称,它是一个基于...

    CanCan1Ruby2Devise3Rails4:在 Rails 4 上使用 CanCan 1 和 Devise 3 的应用程序

    ##设置 CanCan 1:Ruby 2:设计 3:Rails 4本指南部分是根据 Tony Amoyal 的教程 [here.] ( ) 创建的######创建一个新应用程序: rails new appbundle install ######安装设计: gem 'devise'bundle install rails ...

    Rails 101 入门电子书

    ### Rails 101 入门电子书知识点详解 #### 一、简介 《Rails 101 入门电子书》是一本非常适合初学者直接入门的书籍,它由xdite编写并出版于2014年6月10日。本书主要针对的是希望学习Ruby on Rails框架的读者,特别...

    Rails项目源代码

    Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    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 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    cancan:Ruby on Rails的授权宝石

    CanCan是Ruby on Rails的授权库,它限制了给定用户被允许访问的资源。 所有权限都在一个位置( Ability类)中定义,并且不会在控制器,视图和数据库查询之间重复。 安装 在Rails 3中,将其添加到您的Gemfile并运行...

    rails指南 中文版

    Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...

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

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    rails敏捷开发的购物车系统

    在本文中,我们将深入探讨如何使用Rails敏捷开发技术构建一个购物车系统,特别是在参考《rails敏捷开发第四版》中的示例。Rails 3.2.6是本文的基础框架,它是一个强大的Ruby Web应用程序框架,以其MVC(模型-视图-...

    [Rails] Crafting Rails Applications (英文版)

    [Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    随着互联网的快速发展,Ruby on Rails作为一种流行的Web开发框架,在开发领域得到了广泛的应用。它的简易性与高效性让许多开发者为之青睐。而想要在本地环境搭建Ruby on Rails的开发环境,掌握正确的安装步骤是基础...

    Ruby on Rails入门例子

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

    rails 项目起步示例

    Rails是Ruby语言的一个著名Web开发框架,全称为Ruby on Rails,它遵循MVC(Model-View-Controller)架构模式,旨在提高开发效率和代码可读性。本示例"rails项目起步示例"是一个购物系统,非常适合初学者入门学习。 ...

    Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)

    在“Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)”中,包含了Rails从3.0到4.0各个主要版本的源代码,这些版本的变迁反映了Rails框架在不同阶段的发展和改进。 1. Rails 3.0: Rails 3是重大升级,引入了...

    Rails

    标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...

Global site tag (gtag.js) - Google Analytics