#ruby-on-rails-3 #forms #new-operator #render #edit
#ruby-on-rails-3 #формы #new-operator #рендеринг #Редактировать
Вопрос:
Привет, я создаю функцию комментариев в своем приложении, но когда пользователь добавил комментарий, и я отображаю новую страницу комментариев с помощью файла * .js.erb, она отображает форму «редактировать» для комментария, который пользователь только что опубликовал?
$('#pager').append("<%= escape_javascript(render :new) %>");
Редактирование контроллера и создание комментария выглядит следующим образом.
# GET /comments/new
# GET /comments/new.xml
def new
@comment = Comment.new
respond_to do |format|
format.js
format.html # new.html.erb
format.xml { render :xml => @comment }
end
end
# GET /comments/1/edit
def edit
@comment = Comment.find(params[:id])
end
Что я делаю не так? Спасибо!
Ответ №1:
Новое действие будет запущено, когда вы перейдете к добавлению комментария. Действие создать обычно выполняется после того, как пользователь нажимает кнопку отправить в новой форме.
Посмотрите в действии «Создать«, чтобы увидеть, какой вид будет отображаться после отправки.
Комментарии:
1. Привет, да, ну, я думал, в этом и был фокус… У меня есть create, и он удален с рендерингом файла create.js.erb. Это код $(‘#new_comment’).remove(); $(‘#pager’).append(«<%= escape_javascript(render :new) %>»); $(‘# new_comment’).slideDown();