2

我希望我的页面在创建记录后刷新,此时它将它定向到之前的页面。这是我的控制器的代码:

def create
@license = License.new(params[:license])

respond_to do |format|
  if @license.save
    format.html { redirect_to :controller => 'customers', :action => 'index' }
    format.json { render json: @customer, status: :created, location: @customer }
  else
    format.html { render action: "new" }
    format.json { render json: @customer.errors, status: :unprocessable_entity }
  end

end

它说redirect_to我需要使用当前 id 刷新或链接到当前页面,这将是:controller => 'customers', :action => 'show'但具有当前页面记录的 id。

4

2 回答 2

2

尝试

redirect_to customer_path(@license.id)

反而。

根据您的 routes.rb 文件所说的内容,它应该可以工作。

但如果没有,请尝试:

redirect_to show_customer_path(@license.id)

但是,在这里我必须假设您的 customers_controller.rb 以某种方式显示了来自许可证模型的记录。如果 License 和 Customer 是不同的模型,您将不得不以其他方式找到 customer_id。

也许,它是:

redirect_to customer_path(@license.customer_id)

如果许可证未以任何方式连接到客户,您需要将其作为发布请求的一部分传递。

于 2012-08-21T08:48:17.337 回答
0

试试看,我认为您正在将 customer_id 传递给参数(被许可人属于客户),如果是这样, redirect_to customer_path(@license.customer)或者redirect_to customer_path(params[:customer_id])

于 2012-08-21T08:51:03.517 回答