나는 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_to
button_to
을 사용하여 폼을 전환. 위의 코드에 표시된 변경 사항. 지금 링크를 클릭하면 아무 일도 일어나지 않습니다. 아직도 기쁨이 없습니다! : \
나는 그것을했다. (그리고 li nk_to, 그리고 몇 가지 다른 변경 사항을 만들었지 만) 여전히 작동하지 않습니다. 위의 코드 변경 사항을보고 다른 통찰력이 있는지 확인할 수 있습니까? 고맙습니다! – ezuk
아! POST 작업을 HTML 옵션으로 옮겨야했습니다! 나는 내가 지금 바른 길에 있다고 생각한다! – ezuk