2014-04-03 1 views
0

나는이 Ajax 요청을하지만, 어쨌든, 나는 아직도 건은 $.ajax({type: POST, url: add_timespan, data: {to_find_id: 192148455}, success:function(){alert(1);}});왜 내 아약스 post.request 내 메서드를 호출하지만 아무것도하지 않습니다?

를 얻을 :

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) 

당신이 볼 수 있듯이, 내 방법을 시작, 심지어 PARAMS를 전달하지만, 그렇지 않은 내 하위 그룹에 시간 간격을 추가하지 않기 때문에 완료하십시오.

이유를 찾을 수 없습니다. 도와 주시겠습니까?

편집 :

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 : 예 나는 전에 필터가 언급 Paul Richter으로, 여기 내 컨트롤러 방법입니다 가지고있다 : 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 행의 첫 번째 로그로 돌아갑니다. 다른 의견이 있으십니까? 자세한 내용은

:

당신의 PARAMS 해시 당으로
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 

, 당신이 SubgroupsController#add_timespan 요청 subgroup_id을 얻고있다 : LINK TO MY RAILS-FORUM POST

+1

컨트롤러 메서드 코드를 볼 수 있습니다. –

+3

어딘가에 리디렉션 될 수있는 before_filter가 있습니까? 어쩌면 사용자가 before_filter와 관련이 있을까요? 로그에 뭐라고 쓰여 있니? – arieljuod

+0

Arieljuod 말이 맞아. 'login_required'가 아마도 리다이렉트를 야기한 것 같습니다. 하지만 마지막 편집 내용을 이해하지 못했고, 특히'before_action'에 어떤 변화를 주 었는지, 특히 (어떤 식으로': add_timespan' 메서드를 추가했는지) 변경 했습니까? –

답변

0

업데이트 set_subgroup 오류 ActiveRecord::RecordNotFound (Couldn't find Subgroup without an ID)를 해결합니다.

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

이 경우 Subgroup 기록을 일치 찾기 위해 params[:subgroup_id]을 통과해야합니다.

+0

안녕하세요 Kirti, 귀하의 조언을 주셔서 감사합니다,하지만 여전히 작동하지 않습니다. 이제 리디렉션이 다시 발생합니다. – user3383458

+0

새 서버 로그를 공유 할 수 있습니까? 예 : 변경 사항을 제안한 후 –

+0

게시물의 첫 번째와 동일합니다. 2014-04-03 14:54:44에 127.0.0.1에 대해 'Started Started POST/subgroups/519716477/add_timespan'이 가장 높은 로그입니다. +0200 SubgroupsController에서 처리 중입니다. #add_timespan as */* 매개 변수 : { "to_find_id"=> "192148455", "subgroup_id"=> "519716477"} ← [1m ← [36m 사용자로드 (0.0ms) ← [0m ← [1mSELECT "users" * "FROM"users "WHERE"users "."id "=? LIMIT 1 ← [0m [0121] [0120] [0132] [0122] [0122] [0122] – user3383458

관련 문제