Получите "неправильное количество аргументов" на ruby на рельсах
Неверное количество аргументов (дано 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
Спорт 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 ответ
params
это хеш и метод :[]
может принять только 1 аргумент.
def query
params[:query] || {} # Will return :query part or empty Hash if it has nothing
end