목표는 AJAX 호출에서 html을 렌더링하는 것입니다.레일즈 렌더링은 콘솔에서 작동하지만 페이지를로드하지 않습니다.
Rendered admin/articles/show.html.erb within layouts/application (108.1ms)
Completed 200 OK in 185ms (Views: 112.6ms | ActiveRecord: 2.8ms)
하지만 페이지가 변경되지 않습니다 : 내 AJAX 호출에서 'HTML'에 대한 데이터 유형을 변경하면 내 콘솔은 행복하게 성공 렌더링 주장한다는 점에서 일 것 같았다. 여기
는 일부 코드입니다 :보기 :
<span id='show' class="ui-icon ui-icon-extlink" article_id=<%=article.ID %> onmouseover="this.style.cursor='pointer'"></span>
JQuery와 :
$('#show').live("click",function(evt){
evt.preventDefault();
var article_id=$(this).attr("article_id");
$.ajax({
success : null,
type : 'GET',
url : '/admin/articles/show',
dataType : 'html',
data: {
id: article_id
},
});
});
내 컨트롤러 :
def show
@article = Article.find(params[:id])
respond_to do |format|
format.html
format.xml { render :xml => @article }
end
end
routes.rb
match 'articles/show' => 'articles#show', :via => :get
나는 AJAX에서 HTML을 렌더링하고 싶다는 이상한 요청을 알고 있지만 이것이 span 태그에 포함 된 클릭 가능한 링크가 있다고 생각할 수있는 가장 쉬운 방법입니다. 이러한 변경을 JS하는 유형을 변경할 수있는 경우
, Rails 3.0.1
, Ruby 1.9.2
및 JQuery
을 위해 작동 할 아무 일도 발생하지 않습니다. 아직도 페이지에 반환 된 HTML을 "넣는"자바 스크립트를 작성해야합니다. – Mischa