ArgumentError:参数数量错误(1 为 2)

2023-11-25

我对 Rails、MVC 和 CRUD 非常陌生,我正在尝试使用更新方法来更改帖子的投票数量。我的帖子控制器更新方法中有以下代码:

def update
    @post = Post.find(params[:id])

    if params[:vote] == 'up'
        @post.update_column(:ups => @post[:ups] + 1)
    elsif params[:vote] == 'down'
        @post.update_column(:downs => @post[:downs] + 1)
    end

    flash[:notice] = "Thanks for voting! This helps us determine important issues in our schools."

    redirect_to 'Posts#index'
end

我的routes.rb中有以下代码:

OpenMCJC::Application.routes.draw do
  root :to => 'posts#index'
  resources :posts
  match '/posts/:id/:vote', :to => 'posts#update'
end

导航到“/posts/3/up”后,它会抛出以下错误:

ArgumentError in PostsController#update

wrong number of arguments (1 for 2)

根据页面的请求参数如下:

{"id"=>"3",
"vote"=>"up"}

你能帮我找出哪里出了问题吗?


update_column有两个参数。你只是通过了一个。

代替:

@post.update_column(:ups => @post[:ups] + 1)

Try:

@post.update_column(:ups, @post[:ups] + 1)

这可能看起来像two论点:

:ups => @post[:ups] + 1

但实际上是one hash.

与较常用的update_attributes,您可以传递一个哈希值:

@post.update_attributes(:ups => @post[:ups] + 1)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ArgumentError:参数数量错误(1 为 2) 的相关文章

  • Readline、输入记录分隔符和 Ruby

    在 Ruby 中 我希望读取数据 直到到达分隔符或文件末尾 我发现通过重新定义这是可能的 or the INPUT RECORD SEPARATOR到我的分隔符 然而 考虑到 Ruby 语言中的所有 功能 更改全局值来执行此操作似乎很笨拙
  • 无法编辑凭证 Rails 5.2

    当我这样打开文件时 EDITOR atom wait bin rails credentials edit 我得到一个全新的文件 该文件被分配了新名称 number credentials yml 并报告 新凭据已加密并保存 但我没有机会编
  • 使用 ruby​​ 2.4 安装 json 1.8.3 时出错

    版本信息 ruby 2 4 0p0 2016 12 24 修订版 57164 x86 64 linux 宝石2 0 3 Windows 10 I ran bundle install它告诉我跑gem install json v 1 8 3
  • 在新的 Apple Silicon 架构上运行 Ruby、Node、Python 和 Docker? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何获得在 Apple Silicon 架构上运行的 Ruby Python 和 Node js 开发环境 虚拟化软件怎么样 码头工人
  • 设计 /users/sign_in 重定向到错误的控制器

    Vitals ruby 1 9 3p194 2012 04 20 修订版 35410 i686 linux Rails 3 2 7 设计2 1 2 GET users sign in 正在尝试重定向到错误的控制器 它已停止重定向到 weco
  • Rails 3 在迁移问题中添加外键

    有谁知道使用迁移在 Rails 3 中创建外键的方法吗 the 外国人宝石 https github com matthuhiggins foreigner对我来说效果很好 它向 Rails 迁移添加了一些方法 可以轻松创建和删除外键 ex
  • Rails 从视图中调用操作

    希望这里有一个简单的问题 但我似乎无法找到答案 刚刚开始使用 RoR 但之前来自 ASP MVC 我在渲染部分视图时遇到问题 其局部变量不一定与主视图的变量相关联 例如 对于一个博客 我试图渲染一个链接到存档的侧边栏 def sidebar
  • GET 和 POST 方法的单独 Flask 路由

    在 Flask 中定义路由时 最好的做法是使用由多个 HTTP 方法定义的单个路由 并在该单个路由中使用显式逻辑处理不同的 HTTP 方法 例如 app route api users methods GET POST def users
  • 如何检查一个数字是否包含在一个范围内(在一个语句中)?

    我正在使用 Ruby on Rails 3 0 9 我想检查某个数字是否包含在某个范围内 也就是说 如果我有一个变量number 5我想检查一下1 lt number lt 10并检索一个布尔值 如果number值包含在该范围内 我可以这样
  • Ruby Shoes 打包程序,包括应用程序中的 Shoes

    我似乎无法让 Ruby Shoes 打包程序正确创建包含 Shoes 的 exe 我正在使用 Raisins 版本 0 r1134 并从 github 替换 pack rb 打包程序制作的 exe 都是 70 80K 文件 它们显然不包括
  • 设计在 XHR 上抛出 HTTP 身份验证并注销

    我在使用 Devise 使用 OmniAuth 来验证我的 Rails 应用程序时遇到很多问题 我重新启动我的服务器并在隐身模式下打开一个新选项卡 以便清除 cookie 并加载我的应用程序 我登录 然后进入该应用程序 当我到达通过 AJA
  • Rails 中的时间字段返回空白

    我有一个在 Sqlite3 上运行的简单 Rails 3 b1 Ruby 1 9 1 应用程序 我有这张表 create table time tests do t t time time end 我看到这种行为 irb main 001
  • Rails 3.2.9 和子文件夹中的模型

    从 Rails 3 2 9 开始 我无法将模型存储在子文件夹中 在我的应用程序中 我有这棵树 models type models assets user concerns 另外在 application rb 中有 config auto
  • 在 Rails 应用程序中查找未使用的图像?

    我熟悉类似的工具自重 http github com aanand deadweight用于查找 Rails 应用程序中未使用的 CSS 但图像是否存在任何内容 我正在参与一个项目 其中包含与各种设计师合作的大量资产目录 并且我正在努力减少
  • 设计不能很好地处理 RoR3 应用程序上的多个子域

    我看到了很多关于这个主题的问题 但其中很多都有相互矛盾的信息 并且由于某种原因它对我不起作用 I have 顶级域名 即 lvh me 开发 每个用户都有子域 即 userdomain lvh me 登录表单位于顶级域 lvh me I w
  • Sinatra 启用:会话不适用于乘客/apache

    我在启用 sessions 时遇到问题 以维持在 guest apache 上托管的简单 Sinatra 应用程序 我将会话 authorized 的状态存储在cookie 中 当托管在 Rack Handler Mongrel 上时 它可
  • CSV.foreach 未读取 CSV 文件中的第一列

    第一次学习Ruby来自动清理一些CSV文件 我已经设法从其他 SO 问题中拼凑出下面的脚本 但由于某种原因 该脚本没有读取原始 CSV 文件的第一列 如果我添加一个虚拟的第一列 一切都会完美运行 我缺少什么 require csv COLU
  • 如何在 rake 任务中包含 ActionMailer 类?

    我想在我的 rake 任务中使用 ActionMailer 以便在特定时间向人们发送电子邮件 我在 app mailers 文件夹中编写了一个邮件程序类 如下所示 class AlertsMailer lt ActionMailer Bas
  • Rails 3.1 资产 - 开发中的奇怪服务

    我遇到了 Rails 3 1 资产管道的问题 资产在开发过程中包含两次
  • 如何运行使用 Rails 模型的 Ruby 任务?

    我有一个带有一些基本模型的 Rails 应用程序 该网站显示从其他来源检索到的数据 因此 我需要编写一个 Ruby 脚本来在数据库中创建新实例 我知道我可以使用测试挂钩来做到这一点 但我不确定这在这里是否有意义 我不确定这个任务应该是什么样

随机推荐

  • 自动将大括号添加到 java 代码库中的所有 if/else/for/while 等

    我想减少大型遗留java代码库中声纳违规的数量 似乎 快速获胜 是将所有这些条件语句更新为具有大括号 这似乎是一件容易做的事情 我不明白为什么它不能轻易自动化 有人知道可以执行这样的批量操作的工具吗 或者为什么在我自己花时间写一些东西之前做
  • 使用 sas 获取数据步骤中的行号

    有没有办法进行过度分区来获取 sas 上的行号 在 sql 中我会这样 Select region company ROW NUMBER OVER PARTITION BY region ORDER BY Name From company
  • 更改 UIAlertController 中的标题颜色

    我有两个按钮 但我只想将其中一个更改为红色 当我使用下面的功能时它全部改变为red 我只想改变一个按钮的颜色 我该怎么做 alertController view tintColor UIColor redColor let alertCo
  • C++ 隐式转换运算符优先级

    编辑 根据迈克 西摩的评论 我替换了operator std string const with operator char const 并相应地改变了实施 这允许隐式转换 但是 由于某种原因 unsigned long int 运算符优先
  • 超级构造函数如果没有超类?

    我发现了一个这样的类 public class Computer implements Serializable private static final long serialVersionUID 1L public Computer s
  • WinForms 数据绑定 - 绑定到列表中的对象

    我需要一些关于 WinForms 数据绑定的帮助 指导 但我似乎无法让 Google 帮助我解决这个问题 这是我的场景 考虑以下与我需要的类似的类 public class Car public string Name get set pu
  • WPF:文本框文本未更新

    我有一个正在使用的用户控件DataTemplate this UserControl包含一个TextBox与Value属性 声明为DependencyProperty of my UserControl 在数据模板中我绑定了这个Value财
  • 像在画布上绘制一样对路径进行动画处理

    我是 WPF 的新手 请指导我解决这个问题的正确方向 我构建了一个 WPF 应用程序 其中包含路线图视图控件的所有功能 IE 路线图可以使用鼠标 键盘和提供的控件进行放大 缩小 向各个方向平移 我已将道路映射为使用 Expression B
  • 哈希表的时间复杂度

    我对哈希表的时间复杂度感到困惑 很多文章都说它们是 摊销 O 1 而不是真正的 O 1 这在实际应用中意味着什么 哈希表中操作的平均时间复杂度是多少 在实际实现中而不是理论上 为什么这些操作不是真正的 O 1 不可能提前知道哈希函数会发生多
  • 实体框架:无法加载指定的元数据资源

    我决定搬家Entity Connection String from app config编码 但是像这样设置之后 public static string GetConnectionString string connection Sql
  • 通过Annotation填充Spring Bean的File字段

    是否可以做这样的事情
  • 一个进程中加载​​的最大应用程序域数量

    由于动态程序集加载需要加载应用程序域才能通过卸载相关的应用程序域来杀死程序集 因此要加载的进程中是否有 最大 数量的应用程序域 我正在考虑一个基于服务器的应用程序 每个用户都可以动态运行他专有的 C 代码 但是 如果有 2000 个用户登录
  • 如何在 OpenCV python 中从图片中删除背景

    因为我是计算机视觉新手 我还想问如何删除该图像的整个背景并仅保留药丸不变 我尝试了不同的方法 例如更改背景颜色 但仍然存在一些小边缘和噪音 或者如果所有白色背景都可以是中性色 而圆圈之间没有线条 这是 Python OpenCV 中的一种方
  • Python:如何从列表中删除空列表? [复制]

    这个问题在这里已经有答案了 我有一个包含空列表的列表 list1 text text2 moreText 如何删除空列表以便我得到 list2 text text2 moreText 我尝试了 list remove 但这不起作用 Try
  • Swagger 2.0:具有不同路径但相同请求和响应的多个 Path 对象

    由于一些向后兼容性的原因 我需要支持这两个路径 ab and a b 两条路径的请求和响应对象将是相同的 我可以在 Swagger 规范中添加类似以下内容 这样我就不必重复两个路径的请求和响应对象定义 paths ab a b post 是
  • ngModel 发生变化,ngModelChange 未被调用

  • 如何在 .net 上运行 Lucene?

    Lucene是一个优秀的搜索引擎 但是 NET版本落后于Java官方版本 最新的稳定 NET版本是2 0 但是最新的Java Lucene版本是2 4 它具有更多功能 你如何解决这个问题 我发现一种令人惊讶的可行方法 从 Java jar
  • UITableView 可以与 UICollectionView 一起滚动吗?

    我有以下结构 我将两个集合视图包装到表视图中 一个位于表视图标题 集合 1 中 另一个位于表视图第一行 集合 2 中 所有功能都很好 两个集合视图 just 当我在 Collection 2 中向上滚动时 Collection 1 不会一起
  • 将 svg 与 angularjs ng-repeat 一起使用

    我正在学习 AngularJS 我正在尝试使用ng repeat创建一个 svg 图表 我有这个html
  • ArgumentError:参数数量错误(1 为 2)

    我对 Rails MVC 和 CRUD 非常陌生 我正在尝试使用更新方法来更改帖子的投票数量 我的帖子控制器更新方法中有以下代码 def update post Post find params id if params vote up p