【问题标题】:Wicked gem not reaching step 1邪恶的宝石没有达到第 1 步
【发布时间】:2026-01-07 17:45:02
【问题描述】:

我一直在关注 wicked gem https://github.com/schneems/wicked/wiki/Building-Partial-Objects-Step-by-Step 的分步示例,但我正在努力让它发挥作用

routes.rb

post '/trips/building/build(.:format)', :to => "trips/build#create"
resources :trips do
resources :build, controller: 'trips/build'
end

trips_controller.rb

class TripsController < ApplicationController
include Wicked::Wizard
before_action :set_trip, only: [:show, :update]
steps :basic, :details

def show
render_wizard
end

def create
@trip = Trip.create
redirect_to wizard_path(steps.first, :trip_id => @trip.id
end

def update
@trip.update_attributes(trip_params)
render_wizard @trip
end

private
def set_trip
  @trip = Trip.find(params[:trip_id])

end
def trip_params
....
end

end

index.html.erb

<%= link_to 'Create New Trip', '/trips/building/build', :method => :post, :class=>'btn btn-danger'%>

控制台错误:

Started POST "/trips/building/build" for 127.0.0.1 at 2014-04-16 22:50:20 -0700

ActionController::RoutingError - uninitialized constant Trips

这快把我逼疯了... 有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 wicked-gem


    【解决方案1】:

    您的控制器命名不正确 - 您的路由指向 Trips::BuildController,但您的控制器定义为 TripsController

    您共享的链接定义了Products::BuildController,这就是它在那里工作的原因。

    【讨论】:

      最近更新 更多