Ruby on rails 3 — Рендеринг формы редактирования вместо новой формы?

#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();