Метод ниже в teams_controller.rb join
отправляется следующие данные путем подачи формы с использованием EmberJsслишком мало аргументов с подмостей кодом
{"id"=>"3", "user_id"=>"42", "action"=>"join", "controller"=>"teams"}
Запись становится создана с join
ниже методом (по консоль), но код для того, что происходит после того, save
бросает ошибку
ArgumentError (too few arguments):
app/controllers/teams_controller.rb:145:in `format'
app/controllers/teams_controller.rb:145:in `join'
Я скопировал код следуя @team.save
способом из генератора каркасного Rails, так Я немного удивлен. Надеюсь, что он ответит json, но я ушел в html-формате just because
(возможно, есть изящное достоинство деградации). Можете ли вы сказать мне, почему эта ошибка была брошена и/или как я мог ее избежать?
Rails метод
def join
@team = Team.find(params[:id])
id = params[:user_id]
@team.user_ids = @team.user_ids.push(id)
if @team.save
format.html { redirect_to @team, notice: 'Joined Team' }
format.json { render json: @team, status: :created, location: @team }
else
format.html { render action: 'new' }
format.json { render json: @team.errors, status: :unprocessable_entity }
end
end
Update, Следует также отметить, что, основываясь на номер строки сообщения об ошибке, метод, как представляется, обрабатывать формат, как HTML, однако, я хотел, чтобы это было обрабатывается как json