使用设计 2.1.0
我正在尝试向new registration
页面发送PricingPlan
模型。
所以在我的路线中,我有:
devise_scope :user do
delete "/logout" => "devise/sessions#destroy"
get "/login" => "devise/sessions#new"
get "/signup/:plan" => "devise/registrations#new"
end
我覆盖了设计注册控制器。在我的 routes.rb 中使用它以使其工作:
devise_for :users, :controllers => {:registrations => "registrations"}
在我覆盖设计控制器的实际注册控制器中,我有:
class RegistrationsController < Devise::RegistrationsController
view_paths = "app/views/devise"
def new
super
@plan = PricingPlan.find_by_name(params[:plan])
end
这样默认视图仍然可以设计......
在我new
的控制器视图中,registration
我称之为:
<h3>You've chosen the <%= @plan.name %> plan.</h3>
我得到这个错误:
undefined method `name' for nil:NilClass
另外......在我的PricingPlan
模型中:
class PricingPlan < ActiveRecord::Base
has_many :users
在我的User
模型中:
class User < ActiveRecord::Base
belongs_to :pricing_plan
我对rails比较陌生。