나는 사용자가 클릭 제출하면 DB 또는 데이터의 데이터가 다른 웹 사이트에서 긁어 있도록 100 %레일 아약스 배경
, 그것은 잡고 밖으로 간다 작동하는 remote_form을 요청하고 원활 페이지 ...
를 업데이트지금 문제는 같은 일을하고 싶지만 사용자가 onload 이벤트가있는 제출 버튼을 클릭하지 않아도됩니다. 나는 잘못된 방향으로 가고 있다고 생각한다 :
기술적으로 이것은 작동한다 ... 올바른 데이터를 얻지 만, 정확히 remote_form_tag가하는 일을 수행하는 대신에 raw 데이터를 반환한다. RJS replace_html이 없습니다.
form_for를 건너 뛰고 페이지가로드 될 때 컨트롤러 동작을 직접 실행하는 방법이 있습니까?
<script type="text/javascript">
$(window).load(function() {
// executes when HTML-Document is loaded and DOM is ready
// jQuery.facebox('Big loading! <img alt=\"Loading\" src=\"/images/loaders/loading.gif\" />');
//$("#update_form").submit();
$("#update_form").submit(function() { return false; });
});
</script>
#html.erb
<% form_remote_tag :url => { :action => "update_availables", :id => params[:id] },
:loading => "jQuery.facebox('Big loading! <img alt=\"Loading\" src=\"/images/loaders/loading.gif\" />');",
:html => { :method => "get" },
:method => "get",
:html => { :id => 'update_form' } do %>
컨트롤러의 형태
def update_availables
@do_it = Available.get_new_availables :id => params[:id], :date => user_cart.getDate.to_s
get_availables
respond_to do |format|
format.html
format.js
end
end
RJS
page.replace_html :rooms, :partial => "available"
page << "jQuery.facebox.close();"
RJS의 페이딩 사용에 전적으로 동의합니다. 그것은 영리한 생각 이었지만, 실제로 그것을 결코 좋아하지 않았습니다. 물론 개발자들이 모든 사용자 정의 JS를 눈에 거슬리지 않게 만드는 것은 어렵습니다 ... – tfwright