我的目標是從AJAX調用渲染HTML。更改數據類型來在我的AJAX調用「HTML」似乎在這工作我的控制檯就可以高興地宣稱,渲染是成功的:Rails渲染在控制檯中工作,但不加載頁面
Rendered admin/articles/show.html.erb within layouts/application (108.1ms)
Completed 200 OK in 185ms (Views: 112.6ms | ActiveRecord: 2.8ms)
但頁面沒有改變。
下面是一些代碼:
查看:
<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標記中包含可點擊鏈接的最簡單方法。
使用Rails 3.0.1
,Ruby 1.9.2
和JQuery
工作,如果你只是返回HTML,沒有任何反應。您仍然必須編寫一些JavaScript,將返回的HTML「放入」頁面中。 – Mischa