Я пытаюсь использовать Ajax с моим CRUD. Я следую за этим tutorial.Ошибка «Шаблон отсутствует» в Rails 3.1 при попытке визуализации
Я вижу эту ошибку:
Missing template posts/edit, application/edit with {:handlers=>[:erb, :builder, :coffee], :formats=>[:html], :locale=>[:en, :en]}. Searched in: * "/Users/wangstabill/Code/rails/ajax_on_rails/app/views"
когда я пытаюсь нажать на ссылку редактирования. Это выглядит следующим образом:
<%= link_to 'Edit', edit_post_path(post, remote: true) %>
Теперь, у меня есть простой файл js.erb, расположенный в приложение/просмотров/сообщений/edit.js.erb. Этот файл не используется для ответа. Рассматривая приведенное выше сообщение об ошибке, значение: format key - это массив, который содержит только: html. Если я создам файл edit.html.js, это отлично работает, но не файл edit.js.erb.
Этот post рекомендует удалить старый файл rails.js, но я уверен, что никогда не включал его в это простое приложение (или где его можно было найти, если бы я это сделал).
Вот что мой класс контроллер выглядит следующим образом:
class PostsController < ApplicationController
before_filter :load, :except => [:destroy, :create]
def load
@posts = Post.all
end
def index
@post = Post.new
end
def edit
@post = Post.find(params[:id])
end
def create
@post = Post.new(params[:post])
if @post.save
flash[:notice] = 'Post was successfully created.'
load
end
end
def update
@post = Post.find(params[:id])
if @post.update_attributes(params[:post])
flash[:notice] = 'Post was successfully updated.'
end
end
def destroy
@post = Post.find(params[:id])
@post.destroy
flash[:notice] = 'Successfully destroyed post.'
load
end
end
Я не понимаю, почему мои создавать и уничтожать действия успешно оказывающей js.erb шаблонов, но не редактировать. Спасибо за любую помощь!
Удивительно, спасибо за помощь Дилана. Это решает проблему. Вы можете проверить код в [my github] (https://github.com/wangstabill/100--Ajax-CRUD--Rails-3.1)! Спасибо! –
Прохладный! Обязательно принимайте ответ, если он вам поможет, иначе люди не будут тратить время на ответы на ваши вопросы в будущем. –