我在我的控制器中使用以下內容來使用ajax將任務添加到我的項目模型中。Chrome瀏覽器找不到部分
def task_add
project = Project.find(params[:project])
@task = ProjectTask.new(:description => params[:description])
project.project_tasks << @task
render :partial => 'task'
end
和我的Ajax調用:
$('#task-add').click(function(){
var taskDesc = $('#task-description').val();
$.ajax({
type: "POST",
url: "/project_task_add",
data: ({project:<%= @project.id %>, description:taskDesc}),
success: function(data){
var data = $('<div/>').append(data);
$('#tasks').append($('#new-task', data).html());
}
});
});
它工作在Firefox罰款,但Chrome瀏覽器提供了以下錯誤:
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
挖在Chrome瀏覽器開發工具,我發現下面的響應更深:
<h1>Template is missing</h1>
<p>Missing partial projects/task with {:locale=>[:en, :en], :formats=>[:js, :"*/*"], :handlers=>[:erb, :rjs, :rhtml, :builder, :rxml]} in view paths "/home/user/apps/my_app/app/views", "/usr/lib/ruby/gems/1.8/gems/devise-1.1.5/app/views"</p>
部分中的_task.html.erb存在於/ views/projects /和Firefox中,可以很好地呈現出來。我不明白Chrome中有什麼不同......有什麼想法?
請求的方法是:js,你是否使用link_to_remote helper?我認爲欄杆試圖渲染_task.js.rjs而不是_task.html.erb ...發佈與你的動作和你的routes.rb相關的表單以獲取更多幫助!再見 – andrea 2011-02-17 19:39:12
請包括您用於撥打電話的JavaScript代碼。 – 2011-02-17 19:39:36