Как изменить метод создания и обновления в RoR? - PullRequest
0 голосов
/ 23 января 2010

Я знаю, что после создания или обновления методов, у них есть метод, подобный этому

respond_to do |format|
  format.js 
end

Поскольку я меняю свою форму с удаленной формы на не удаленную форму, поэтому я больше не буду использовать format.js, я просто хочу обновить страницу после того, как пользователь создаст / обновит продукт, поэтому у меня есть этот код :

respond_to do |format|
  page.reload
end

Но это не работает, поэтому я стараюсь не использовать response_to do, у меня есть только page.reload. Но это также показывает мне сайт, как это:

http://localhost:3000/products/50

Я просто хочу перезагрузить страницу после создания / обновления, почему я не могу сделать это таким образом?

Ответы [ 2 ]

1 голос
/ 23 января 2010

Метод reload перезагружает текущее местоположение браузера с помощью JavaScript. Я бы предположил, что вы, вероятно, захотите выполнить перенаправление на стороне сервера после создания или обновления вашего ресурса. Что-то вроде один из этих альтернатив:

redirect_to product_path(@product) # Redirect to the 'show' page for the product
redirect_to products_path          # Redirect to the products' index page
0 голосов
/ 23 января 2010

Как я могу назначить путь_продукта? в маршрутах .rb?

в route.db вы можете либо:

  1. map.product 'products /: id',: controller => 'products',: action => 'view'
  2. map.resources: product
  3. map.resource: product

1) даст вам product_path (123) и product_url 2) даст вам product_path, new_product_path, edit_product_path и т. Д.

НТН

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