Браузер Chrome не может найти частичное - PullRequest
1 голос
/ 17 февраля 2011

Я использую следующее в своем контроллере для добавления задач в модель моего проекта с использованием ajax.

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=&gt;[:en, :en], :formats=&gt;[:js,            :&quot;*/*&quot;], :handlers=&gt;[:erb, :rjs, :rhtml, :builder, :rxml]} in view paths &quot;/home/user/apps/my_app/app/views&quot;, &quot;/usr/lib/ruby/gems/1.8/gems/devise-1.1.5/app/views&quot;</p>

Часть _task.html.erb существует в / views / projects /и Firefox делает это очень хорошо.Я не понимаю, что отличается в Chrome ... какие-либо идеи?

Ответы [ 2 ]

0 голосов
/ 17 февраля 2011

метод запроса: js.Я думаю, что рельсы это попытаться сделать _task.js.rjs не _task.html.erb.Вы могли бы это явно указать

render :partial => 'projects/task.html.erb'

, но я думаю, что вы можете изменить представление, из которого генерируется запрос, чтобы у них не было метода params js, или создать ответ ajax.если вам нужна дополнительная помощь!

0 голосов
/ 17 февраля 2011

Ожидается, что ваша частичная часть будет названа app/views/projects/task.js.erb (как выяснилось по части formats вашей ошибки, а не app/views/projects/task.html.erb. Вероятно, вы определили только частичную часть html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...