2013-01-02 1 views
2

나는 Ideas의 목록을 렌더링하는 페이지가 있습니다. 각 항목 옆에는 소유권 주장 버튼이 있습니다. 이어야합니다. 사용자가 Claim (클레임) 버튼을 클릭하면 Idea#claim 컨트롤러 동작이 실행되고 클레임 버튼이 흐려집니다.Rails에서 Ajax를 처음으로 사용하는 경우 : 컨트롤러가 빈 문서를 렌더링합니까?

무엇 실제로는이 발생합니다 ... 아무 것도 없습니다. 레일스 에러 페이지조차도 안되기 때문에 나는 막혔다. 관련 단편이 따르

routes.rb

resources :ideas do 
    collection do 
     post 'claim' 
    end 
    end 

ideas_controller # 청구항

def claim 
    @idea = Idea.find(params[:idea_id]) 
    current_user.claim(@idea) 
    respond_to do |format| 
     format.js { render :nothing => true } 
    end 
    end 

_idea.html.erb 부분

<span class="idea-actions" id=<%="idea"+idea.id.to_s%>> 
    <%= link_to "Claim", {method: "post", action: "claim", idea_id: idea.id}, {class: 'claim', remote: true} %> 
</span> 

ideas.js.coffee

$ -> 
    $('.claim').bind 'ajax:success', -> 
    alert 'Ajax success!' 

이 절대적으로 내 처음으로 이런 일을하려고하고, 내 커피 스크립트/JS가 거의 존재하지 않는다. 어떤 조언이나 조언을 주시면 감사하겠습니다.

편집 1 ideas.js.coffee하는 application.js에서 이동 코드에 link_tobutton_to을 사용하여 폼을 전환. 위의 코드에 표시된 변경 사항. 지금 링크를 클릭하면 아무 일도 일어나지 않습니다. 아직도 기쁨이 없습니다! : \

답변

0

시도가 button_to

<%= button_to "Claim", {action: "claim", idea_id: idea.id}, {remote: true, class: 'btn btn-small claim'} %> 

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-button_to

+0

나는 그것을했다. (그리고 li nk_to, 그리고 몇 가지 다른 변경 사항을 만들었지 만) 여전히 작동하지 않습니다. 위의 코드 변경 사항을보고 다른 통찰력이 있는지 확인할 수 있습니까? 고맙습니다! – ezuk

+0

아! POST 작업을 HTML 옵션으로 옮겨야했습니다! 나는 내가 지금 바른 길에 있다고 생각한다! – ezuk

0

html_options 부분에 remote: true를 이동 청소기 될 수있는 button_to 수정 :

<%= button_to "Claim", claim_ideas_path(id: idea.id, format: 'js'), remote: true %> 

을해야한다고 ..를

관련 문제