레일에서 루비에 Thumb_Up gem을 사용하고 있습니다. https://github.com/brady8/thumbs_upRails 3 gem 메서드를 사용하여 데이터베이스 모델을 어떻게 업데이트합니까?
사용자가 게시물에 투표 할 수 있기를 바랍니다. 그러나 사용자가 각 게시물 옆에있는 버튼을 클릭하고 데이터베이스에 투표를 추가하도록 허용하는 방법을 알 수 없습니다.
나는 다음과 같은 일을 통해이 레일 콘솔에서 일어날 얻을 수 있습니다 : 나는 버튼이보기를 클릭하면이 일이 얻을 수있는 방법
그러나u=User.first
m=Micropost.first
u.vote_for(m)
. 아약스를 사용해야한다고 가정하고 있지만이 작업을 수행하기 위해 내가 게시해야하는 URL을 어떻게 알 수 있습니까?
도움을 주시면 감사하겠습니다.
업데이트 : 도움을
정말 고마워요! 아래 코드에 여전히 문제가 있습니다.
<%= link_to('vote for this post!', vote_micropost_path(@micropost), :method => :post) %>
컨트롤러 : 그러나
def vote
@micropost = Micropost.find(params[:id])
current_user.vote_for @micropost
# This assumes you'll only call it via AJAX.
# If your ajax call doesn't return "ok", then you know something went wrong
render :text => 'ok', :layout => false
end
, 난 아직이 오류를 받고 있어요 : 없음 경로 일치 {여기
내 routes.rbresources :microposts do
post :vote, :on => :member
end
보기입니다 : controller => "microposts", : id => #, : action => "vote"}
경로가 정확히 일치하지 않는 이유를 아는 사람이 있습니까?
예, 조금 더 명확합니다. 당신의 견해처럼 보이는 @micropost는 실제로 Micropost 레코드로 설정되지 않습니다. _vote_ 작업이 수행하는 것처럼 @micropost를 설정해야하는 렌더링 작업이 무엇이든간에. – bioneuralnet