【问题标题】:Get “wrong number of arguments” on ruby on rails在 ruby​​ on rails 上获取“错误数量的参数”
【发布时间】:2019-02-03 22:22:06
【问题描述】:

参数数量错误(给定 2,预期 1)

运动控制器

class SportsController < ApplicationController
  def index
    @sport = Sport.all
    @events, @errors = Bapi::Inplay.all(query)
  end

  private
    def query
      params[:query, {}]
    end
end

运动指数.html.erb

 <% @sports.each do |sport| %>
   <% @events(:sport_id => sport.id).each_slice(2) do |events| %>

我想将每个 sport.id 发送到 @enevts 实例变量


编辑: 当在SportsController 中将查询作为哈希发送时!!

class SportsController < ApplicationController
  def index
    @sport = Sport.all
    query = {:sport_id => 1} 
    @events, @errors = Bapi::Inplay.all(query)
  end

  private
    def query
      params[:query, {}]
    end
end

Index.html.erb

 <% @sports.each do |sport| %>
   <% @events.each_slice(2) do |events| %>

【问题讨论】:

  • 错误出现在哪一行?
  • 我在这一行遇到错误params[:query, {}]

标签: ruby-on-rails ruby-on-rails-5.2


【解决方案1】:

params 是一个哈希值,:[] 方法只能接受一个参数。

 def query
    params[:query] || {}  # Will return :query part or empty Hash if it has nothing
 end

【讨论】:

  • 语法错误,意外'(',期待keyword_end @events(:sport_id => sport.id).each_s... 在这一行` sport.id ).each_slice(2) 做 |events| %>`
  • @Gasem @events(:sport_id =&gt; sport.id) 在您看来没有任何意义,Ruby 解释器也无法理解。你需要解决这个问题,但这是一个单独的问题,所以我想这个答案应该被接受。
  • 检查这个,它可能对你有帮助stackoverflow.com/questions/24558916/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-21
  • 1970-01-01
  • 2021-12-07
  • 1970-01-01
  • 2016-02-17
相关资源
最近更新 更多