簡體   English   中英

為什么我的Ajax post.request調用我的方法,卻什么也沒做?

[英]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

正如arieljoud所說:是的,我有一個前置過濾器:

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_idSubgroupsController#add_timespan請求。

Parameters: {"to_find_id"=>"310026848", "subgroup_id"=>"519716477"}

在這種情況下,您將需要傳遞params[:subgroup_id]來找到匹配的Subgroup記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM