ОБНОВЛЕНИЕ: Действие обновления теперь обрабатывается как JS (благодаря опции "xhr: true"), однако сообщение об ошибке сохраняется ... Я не знаю, почему оно выдает ошибкуво время теста, но НЕ при запуске в разработке.
Я обновил заголовок и содержание моего вопроса, чтобы отразить эти изменения.
Так что теперь я в растерянности, что может быть причиной этой ошибки ... Любойидеи?
Всякий раз, когда я пытаюсь проверить действие обновления для контроллера, я получаю следующее сообщение об ошибке:
ArgumentError: wrong number of arguments (given 2, expected 0)
Вотместо в контроллере, который получает ошибку:
def update
...
# \/ This line causing the error \/
if @image.update(image_params.except(:image_tags_attributes))
if image_params[:crop_x].present?
...
И вот тест, который я запускаю:
class ImagesControllerTest < ActionDispatch::IntegrationTest
# ....
test "should add current_user.id to tag related through table after an update action that contains crop parameters" do
log_in_as(@user)
patch image_path(@image), params: { image: {
crop_x: 100,
crop_y: 100,
crop_w: 100,
crop_h: 100,
crop_rotation_angle: 0,
image_tags_attributes: {
tag_title_attributes: {
title: @tag_title.title
},
tag_content_attributes: {
content: ""
}
}
}
}, xhr: true
assert ImageTagTitle.last.user_id == @user.id
end
end
Насколько я могу сказать, я передаю все вдля теста таким же образом, как я делаю это на стороне разработчика, поэтому я запутался в том, что может привести к тому, что они будут обрабатываться по-другому.
Заранее благодарю за любую помощь и советы, которые вы можете предложить!
test.log
Processing by ImagesController#update as JS
Parameters: {"image"=>{"crop_x"=>"100", "crop_y"=>"100", "crop_w"=>"100", "crop_h"=>"100", "crop_rotation_angle"=>"0", "image_tags_attributes"=>{"tag_title_attributes"=>{"title"=>"MyTitle1"}, "tag_content_attributes"=>{"content"=>""}}}, "id"=>"249799255"}
development.log
Processing by ImagesController#update as JS
Parameters: {"utf8"=>"✓", "authenticity_token"=>"IUXYLsxSoD/OYdnm5TH/3jNbaG+7bkwZJL39p/vePkEXrnNk3J+1nrFkgIT3rsQeFmzRdt5kRMO+Vpjo7F5BCg==", "image"=>{"image_tags_attributes"=>{"tag_title_attributes"=>{"title"=>"page number"}, "tag_content_attributes"=>{"content"=>""}}, "crop_x"=>"42.73287586330139", "crop_y"=>"45.58570767432143", "crop_w"=>"123.71134020618558", "crop_h"=>"117.08396046432024", "crop_rotation_angle"=>"0"}, "button"=>"", "id"=>"2"}