如何修改创建& RoR中的更新方法?

时间:2010-01-23 15:07:14

标签: ruby-on-rails ruby

我知道在创建或更新方法完成后,他们有这样的方法

respond_to do |format|
  format.js 
end

由于我将表单从远程表单更改为非远程表单,所以我不再使用format.js了,我只是想在用户创建/更新产品后刷新页面,所以我有这个代码:

respond_to do |format|
  page.reload
end

但它不起作用,所以我尽量不使用respond_to做,我只有page.reload。但它也向我展示了这样的网站:

http://localhost:3000/products/50

我只想在创建/更新后重新加载页面,为什么我不能这样做?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

  

如何分配product_path?在routes.rb?

在routes.db中

你可以:

  1. map.product'products /:id',: controller => 'products',:action => '查看'
  2. map.resources:product
  3. map.resource:product
  4. 1)将为您提供product_path(123)和product_url 2)将为您提供product_path,new_product_path,edit_product_path等

    HTH