Кнопка: создать один объект, а затем перенаправить на создание другого? - PullRequest
0 голосов
/ 14 марта 2012

railsnoobquestion: я пытаюсь разработать функцию, в которой пользователь может сохранить объект в рельсах, а затем снова отправить его в форму, чтобы создать другой объект.

Я мог бы подумать о двух вариантах: -Создатьполностью новый маршрут -Добавить данные к объекту ресторана, проверить эти данные в контроллере?

Кто-нибудь создал подобную функцию?

thx

Ответы [ 2 ]

0 голосов
/ 15 марта 2012

Решение было создать скрытое поле формы с другой кнопкой отправки:

%input#create_another{:name => "create_another", :type => "hidden", :value => 0 }
%a.btn.btn-info#submit_another

Затем используйте javascript для отправки формы:

jQuery(document).ready(function() {
  $("#submit_another").click(function() {
    $('#create_another').attr('value','1');
    console.log($('#create_another').attr('value'));
    $(".formtastic").submit();
    return true;
  });
});

Внутри соответствующего контроллера, в моем случае, контроллер категории:

if params[:create_another].nil?
  @create_another = false
else
  @create_another = (params[:create_another] == "1")
end
respond_to do |format|
  if @category.save
    if @create_another
      format.html { redirect_to new_restaurant_category_path(@restaurant), notice: I18n.t(:entry_successfully_created, :name => I18n.t(:category_singular)) }
0 голосов
/ 14 марта 2012

Вот стандартное действие создания для ресурса posts.

def create
  @post = Post.new params[:post]

  if @post.save
    redirect_to @post, notice: 'Post was successfully created.'
  else
    render :new
  end
end

Все, что вам нужно сделать, это изменить перенаправление с @post на new_post_path.

redirect_to new_post_path, notice: 'Post was successfully created.'

Это то, что вы ищете?

...