반응형
레일 link_to:
다음과 같은 것이 있습니다.
<%= link_to my_path, method: :delete, confirm: 'Delete?', class: 'link-delete', 'data-message' => 'Are you sure?', 'data-severity' => 'danger', :remote => true do %>
<i class="icon-trash"></i>
<% end %>
확인을 위해 부트스트랩모달(Bootstrap Modal)을 불러오고 스피너나 텍스트 같은 것을 표시할 수 있도록 Ajax 콜에 접속하고 싶었습니다.
link_to에서 ':remote => true'를 사용하지 않으면 눈에 띄지 않는 javascript를 사용하여 클릭 이벤트를 들을 수 있습니다.
jQuery ->
$('.link-delete').live 'click', (event) ->
$('.link-delete').html("Loading...") #THE MSG OR ANIMATION I WANT TO DISPLAY
$.get(this.href, null, null, 'script')
false
그러나 ':remote => true'를 사용할 때 이 둘을 결합하는 방법을 잘 모르겠습니다.
좋은 의견이라도 있나?
도와 주셔서 감사해요.
다음과 같이 Ajax 콜에 바인드 할 수 있습니다.
<%= link_to my_path, method: :delete, confirm: 'Delete?', class: 'link-delete', 'data-message' => 'Are you sure?', 'data-severity' => 'danger', :remote => true do %>
<i class="icon-trash"></i>
<% end %>
$('.link-delete').bind('ajax:beforeSend', function() {
$('#mySpinner').show();
});
$('.link-delete').bind('ajax:complete', function() {
$('#mySpinner').hide();
});
이 둘을 조합할 필요는 없습니다.format.js를 사용하여 javascript를 호출합니다.
컨트롤러 내:
컨트롤러
def my_method
#code here
respond_to do |format|
format.js {}
end
end
my_param.erb
<div id = "link-delete"></div>
my_param.erb
$("#link-delete").html("<%= escape_javascript(render(:partial => "text_message"))%>");
_text_message.message.erb
<p>Loading...</p>
언급URL : https://stackoverflow.com/questions/15292270/rails-link-to-remote
반응형
'codememo' 카테고리의 다른 글
| Angular 전개 방법JS 앱과 Spring Restful API 서비스가 동일한 도메인/서버에 있습니까? (0) | 2023.03.19 |
|---|---|
| 각도로 모든 컨트롤러에서 기능을 사용할 수 있습니까? (0) | 2023.03.19 |
| WP_Query('orderby=post_date')가 워드프레스와 함께 작동하지 않습니다. (0) | 2023.03.19 |
| 오류 'babel-core' 모듈을 찾을 수 없습니다.react.displays, webpack 및 express 서버 사용 (0) | 2023.03.19 |
| 아이템이 존재하는지 테스트하기 위해 MongoDB에 문의하는 방법 (0) | 2023.03.19 |