我希望我的页面在创建记录后刷新,此时它会将其指向页面。这是我的控制器的代码:
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,该ID为:controller => 'customers', :action => 'show'
但具有当前页面记录的ID 。
答案 0 :(得分:2)
尝试
redirect_to customer_path(@license.id)
代替。
根据您的routes.rb文件所说的内容,它应该有效。
但如果没有,请尝试:
redirect_to show_customer_path(@license.id)
但是,在这里我必须假设您的customers_controller.rb以某种方式显示许可证模型中的记录。如果许可证和客户是单独的模型,则必须以其他方式查找customer_id。
也许,它是:
redirect_to customer_path(@license.customer_id)
如果许可证未以任何方式与客户相关联,您将需要将其作为邮寄请求的一部分传递。
答案 1 :(得分:0)
尝试,
我认为你将customer_id传递给params(被许可人属于客户),如果是的话
redirect_to customer_path(@license.customer)
或redirect_to customer_path(params[:customer_id])