Попытка добавить ajax в приложение RoR - PullRequest
0 голосов
/ 03 марта 2011

Я получаю сообщение об ошибке ActionView::MissingTemplate при попытке добавить ajax в Twitter-подобный контроллер микросообщений.Вот полная ошибка:

ActionView::MissingTemplate (Missing template microposts/create with {:handlers=>[:rhtml, :erb, :rxml, :builder, :rjs], :locale=>[:en, :en], :formats=>[:js, :html]} in view paths "/rubyprograms/sample_app/app/views"):
app/controllers/microposts_controller.rb:9:in `create'

Вот мой create метод.Кстати, строка 9 - это строка respond_to:

  def create
@micropost  = current_user.microposts.build(params[:micropost])
if @micropost.save
  flash[:success] = "Micropost created!"
  respond_to do |format|
    format.html { redirect_to root_path }
    format.js
  end
else
  @feed_items = []
  render 'pages/home'
 end
end

Что я делаю не так?

ОБНОВЛЕНИЕ: у меня есть файл .rjs в папке views.Это где это должно быть?Должен ли файл иметь конкретное имя?В настоящее время он называется create.rjs

Ответы [ 3 ]

0 голосов
/ 03 марта 2011

Имя файла должно быть

create.js.erb

Тогда в вашем контроллере вы должны использовать:

respond_to do |format|
  format.js # view create.js.erb
end
0 голосов
/ 26 июля 2012

Чтобы использовать rjs в рельсах 3, используйте *

prototype-rails

* gem

0 голосов
/ 03 марта 2011

create.rjs должно быть меньше app/views/microposts

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