Ruby on Rails 3 Beta: при запросе ajax get я не могу ответить с представлением html.erb. Есть ли обходной путь? - PullRequest
0 голосов
/ 09 марта 2010

Я начал играть с Rails 3 beta, и я пытаюсь сделать свой обычный стартовый проект. Я создаю простой список проектов, но использую ajax-запросы для навигации приложения. В Rails 3 мой обычный код не работает для базового скаффолда, я получаю

ActionView:MissingTemplate (Missing template projects/new with {:format=>[:js]}

Вот мой отрывок из моего контроллера проектов:

  # GET /projects/new
  # GET /projects/new.xml
  def new
    @project = Project.new

    respond_to do |format|
      format.html # new.html.erb
      format.js   { render :layout => false }
      format.xml  { render :xml => @project }
    end
  end

Обратите внимание на строку format.js. Я использую библиотеку Mootools для своего javascript и еще не опробовал новые ненавязчивые хуки, которые предоставляет rails 3, поэтому я все еще пишу это вручную Вот запрос javascript, который срабатывает при нажатии на ссылку «новая» на странице. В Mootools атрибуты обновления Request.HTML обновляют мой div в HTML с идентификатором 'main'.

a.addEvents({
    'click': function(e) {
        e.stop();
        console.log("Click for '" + a.get('href') + "'");

        new Request.HTML({
            url: a.get('href'),
            method: 'get',
            update: 'main',
            onRequest: function() {},
            onSuccess: function() {},
            onFailure: function(xhr) {},
            onComplete: function() {}
        }).send();
    }
});

Итак, что происходит при нажатии на ссылку, контроллер пытается ответить на вызов js файлом new.js.erb, которого у меня нет. В предыдущих версиях rails это не имело место, и он автоматически отвечал бы с new.html.erb. Если я удаляю строку format.js в контроллере, он отвечает обратно, но я не хочу, чтобы у ответа был макет при вызове через javascript.

Что-то изменилось в бета-версии Rails 3?

1 Ответ

0 голосов
/ 09 марта 2010

Такое ощущение, что все изменилось в Rails 3. :) Вы установили драйвер для Mootools ?

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