Получите «неправильное количество аргументов» на ruby ​​на рельсах - PullRequest
0 голосов
/ 29 августа 2018

неверное количество аргументов (дано 2, ожидается 1)

SportsController

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

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

Sport index.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| %>

1 Ответ

0 голосов
/ 29 августа 2018

params - это хеш, а метод :[] может принимать только 1 аргумент.

 def query
    params[:query] || {}  # Will return :query part or empty Hash if it has nothing
 end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...