【发布时间】:2012-06-10 16:36:03
【问题描述】:
使用设计 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"}
在我的 实际 注册控制器中,它覆盖了 Devise 的控制器:
class RegistrationsController < Devise::RegistrationsController
view_paths = "app/views/devise"
def new
super
@plan = PricingPlan.find_by_name(params[:plan])
end
所以默认视图仍然可以设计......
在registration 控制器的new 视图中,我称之为:
<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 比较陌生。
【问题讨论】:
标签: ruby-on-rails activerecord devise