0
사용자 목록을 페이지 매기기하고 아바타 옆에 "팔로우"버튼을 제공합니다. jQuery를 "Follow"양식을 제출하는 수단으로 사용하고 있습니다.레일즈 jQuery 폼 제출, 잘못된 폼이 실행 됨
"팔로우"링크를 클릭해도 의도 한 사용자가 아닌 페이지 매김 목록의 '최상위'대부분의 사용자가 따라 다니는 버그가 있습니다.
이 버그는 일부 속성 (CSS와 관련이있을 수 있음)을 공유하는 페이지 매김을받는 양식과 관련이 있다고 생각됩니다.
다음<%= form_for(current_user.relationships.build(:followed_id => user.id), :remote => true) do |f| %>
<div><%= f.hidden_field :followed_id %></div>
<%= link_to "Follow", "#", :onclick=>"$('.new_relationship').submit()" %>
는 관계 컨트롤러 '생성'이다 조치 : :
여기에 후속하여 양식
def create
@user = User.find(params[:relationship][:followed_id])
current_user.follow!(@user)
respond_to do |format|
format.html { redirect_to :back }
format.js { }
end
end
어떤 도움이 많이 주시면 감사하겠습니다, 감사합니다!
<%= button_to "Follow", :remote => true, :action => "create", :id_to_follow => user.id %>
사용합니다. 확실한 link_to : method => : 게시 할 수 있습니까? 이 스택 플로우 기사를 확인하십시오. http://stackoverflow.com/questions/4964599/rails-how-do-you-submit-a-form-with-a-text-link –
HTML의 링크 목적은 따라서 요청을하십시오 : method => : post는 약간의 해킹처럼 보이지만, onclick을 사용한 접근 방식은 이러한 측면에서 훨씬 더 나쁩니다. link_to 작동, 그냥 시도하십시오. 전달 된 매개 변수와 메서드를 수락하도록 올바르게 설정 한 경로와 동작을 컨트롤러에 설정해야합니다. –
귀하의 답변에 감사 드리며, 문제의 본질에 관한 오해가있을 수 있습니다. 이 코드는 페이지 매김의 컨텍스트에서 적용되는 경우를 제외하고 사이트 전체에서 작동합니다. onclick은 jQuery/CSS와 토글 링 이미지를 "버튼"으로 사용하려는 올바른 접근 방식입니다. –