[英]Why does my ajax post.request call my method, but doesn't do anything?
我有這個Ajax請求,但是無論如何,我仍然會得到$.ajax({type: POST, url: add_timespan, data: {to_find_id: 192148455}, success:function(){alert(1);}});
事情是:
Started POST "/subgroups/519716477/add_timespan" for 127.0.0.1 at 2014-04-03 14:54:44 +0200
Processing by SubgroupsController#add_timespan as */*
Parameters: {"to_find_id"=>"192148455", "subgroup_id"=>"519716477"}
←[1m←[36mUser Load (0.0ms)←[0m ←[1mSELECT "users".* FROM "users" WHERE "users"."id" =? LIMIT 1←[0m [["id", 702273327]]
Redirected to http://localhost:3000/
Completed 302 Found in 0ms (ActiveRecord: 0.0ms)
如您所見,它啟動了我的方法,甚至傳遞了參數,但是並沒有完成它,因為它沒有給我的子組增加時間。
我不知道為什么。 你能幫助我嗎?
編輯:正如保羅·里希特所說,這是我的控制器方法:
def add_timespan
RTimespan.create(timespan_id: params[:to_find_id].to_s, subgroup_id: @subgroup.id.to_s)
end
before_action :set_subgroup, only: [:show, :edit, :update, :destroy, :remove_admin, :search_user, :remove_user, :process_add_user, :process_add_admin]
before_action :login_required
我已將我的before_action編輯為也具有:add_timespan。
before_action :set_subgroup, only: [:show, :edit, :update, :destroy, :remove_admin, :search_user, :remove_user, :process_add_user, :process_add_admin, :add_holiday]
before_action :login_required
現在我沒有重定向了,但是現在它說:
Started POST "/subgroups/519716477/add_timespan" for 127.0.0.1 at 2014-04-03 15:28:24 +0200
Processing by SubgroupsController#add_timespan as */*
Parameters: {"to_find_id"=>"310026848", "subgroup_id"=>"519716477"}
←[1m←[35mUser Load (0.0ms)←[0m SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 702273327]]
Completed 404 Not Found in 0ms
ActiveRecord::RecordNotFound (Couldn't find Subgroup without an ID):
app/controllers/subgroups_controller.rb:161:in `set_subgroup'
app/controllers/application_controller.rb:11:in `reset_timezone_to_utc'
set_subgroup方法:
def set_subgroup
@subgroup = Subgroup.find(params[:id])
end
編輯:我注釋了before_action :login_required
。 你知道我現在遇到哪個錯誤嗎? 和以前一樣? 我開始變得絕望了。
@ @ kirti-thorat :我已經嘗試過您的想法,但是它仍然無法正常工作。 當我使用您的想法時,我將返回第4行的第一個日志。您還有其他建議嗎?
有關更多信息: 鏈接到我的鐵路論壇帖子
更新set_subgroup
以解決錯誤ActiveRecord::RecordNotFound (Couldn't find Subgroup without an ID)
:
def set_subgroup
if params[:id].present?
@subgroup = Subgroup.find(params[:id])
elsif params[:subgroup_id].present?
@subgroup = Subgroup.find(params[:subgroup_id])
end
end
按照您的PARAMS哈希,你得到subgroup_id
為SubgroupsController#add_timespan
請求。
Parameters: {"to_find_id"=>"310026848", "subgroup_id"=>"519716477"}
在這種情況下,您將需要傳遞params[:subgroup_id]
來找到匹配的Subgroup
記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.