나는 사용자가 링크를 클릭 할 때 페이지에 동적으로 내용을 추가하고 이후에 자바 스크립트를 실행하려는 경우 list.html.erb 페이지가있는 컨트롤러가 있습니다.어떻게 레일에 내용을 동적으로 추가 할 수 있습니까?
js.erb 파일을 렌더링하는 메서드를 가질 수 있으며이 파일에 내용이 들어있는 변수를 넣을 수 있습니까? 이 같이
가장 필
나는 사용자가 링크를 클릭 할 때 페이지에 동적으로 내용을 추가하고 이후에 자바 스크립트를 실행하려는 경우 list.html.erb 페이지가있는 컨트롤러가 있습니다.어떻게 레일에 내용을 동적으로 추가 할 수 있습니까?
js.erb 파일을 렌더링하는 메서드를 가질 수 있으며이 파일에 내용이 들어있는 변수를 넣을 수 있습니까? 이 같이
가장 필
: http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to 당신은 물론, 예
link_to 'Something', 'somewhere', remote: true
를 사용해야합니다. 그것은 최선의 행동 방침이 아닐 수도 있습니다.
자바 스크립트를 통해보기의 기능을 향상 시키려면 Ruby에서 생성 한 자바 스크립트가 아닌 자바 스크립트로 코드를 유지하는 것이 좋습니다.
컨트롤러에서 JSON 형식 또는 HTML 코드 조각으로 새 콘텐츠를 가져 오는 간단한 HTML 링크를 만듭니다. $ .ajax와 success 콜백 함수를 사용하여 페이지의 요소에 응답을 추가합니다.
$.ajax({
url: "whatever/here",
type: "GET",
data_type: "json",
success: function(response) {
$("#element_in_question").append(response); //if HTML; if JSON, parse and build the HTML
},
error: function(xhr, status, message) {
//indicate failure somehow
}
});
list.html.erb에 partial을 포함하고 list.html.erb 페이지에서 일부 내용을 변경할 때 partial을 표시 할 수 있습니다. 당신의 list.html.erb 파일을 고려 예를 들어,
<form_for :something, :remote => true, :method => get :url => {:action => "partial"} do |f| %>
//write your code here
<%=f.submit%> //here you can have :onchange in the form_for tag if you do not want a submit button
는 partial.js 쓰기
<div id="partial">
</div>
아래로 목록 페이지에 부분에 대한 부문 쓰기 페이지에 다음을 포함 할 수 있습니다. ERB는 다음과 같이 파일 :
$('#partial').html("<%=j render "partial" %>");
가 동적으로 list.html.erb를 추가 할 콘텐츠와 _partial.html.erb
파일을 만듭니다.
def partial
//write your code here
respond_to do |format|
format.js
end
이것은 "부분"
DIV의 ID로 목록 페이지의 div 태그에 추가 된 내용을 표시합니다 : 컨트롤러에서 다음 코드를 추가합니다