Rails邪恶的宝石重定向与params

tde*_*lam 3 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

我正在使用邪恶的宝石来构建表单向导.在文档中,它使用的是current_user对象,但我想使用其他对象.我正在努力为redirect_to添加一个参数,所以我可以使用这个对象.

products_controller.rb

def create
  @product = current_user.product.build(params[:product])
  @product.ip_address = request.remote_ip

  if @product.save
    redirect_to product_steps_path # This is where I think I need to pass product object but not sure how
  else
    render 'new'
  end
end
Run Code Online (Sandbox Code Playgroud)

product_steps_controller.rb

class ProductStepsController < ApplicationController
  include Wicked::Wizard
  steps :apps, :templates

  def show
    @product = Product.find(params[:id])
    render_wizard
  end
end
Run Code Online (Sandbox Code Playgroud)

路线:

resources :products
resources :product_steps
Run Code Online (Sandbox Code Playgroud)

我用上面的代码得到的错误是:

ActiveRecord::RecordNotFound in ProductStepsController#show

Couldn't find Product with id=apps
Run Code Online (Sandbox Code Playgroud)

如何在这样的特定对象上使用邪恶的gem而不是文档中的current_user示例?

T. *_*all 5

这就是我的工作.

products_controller.rb

if @product.save
  redirect_to product_step_path(:id => "apps", : product_id => @ product.id)
else
...
Run Code Online (Sandbox Code Playgroud)

product_steps_controller.rb

def show
  @asset = Asset.find(params[:asset_id])
  render_wizard
end
Run Code Online (Sandbox Code Playgroud)