更新
我想为此添加更多详细信息。我有一个用户模型和这个用户模型
has_many :trial_subscriptions
attr_accessible :trial_subscriptions_attributes
accepts_nested_attributes_for :trial_subscriptions, :allow_destroy => true
我正在构建自定义表单,因此当用户输入trial_email时,表单将创建一个具有关联trial_subscription的新用户
trial_subscription.rb模型继承自manual_subscription模型,manual_subscription继承自订阅模型。
订阅模式
belongs_to :user
我需要从has_many方面构建关联。现在我无法确定在何时发布表单(在设计时涉及到@user)。我需要知道创建方法在用户创建时的位置,因此我的问题如下。
这将是与/ sales网址中正常注册的单独页面,因此我无法在注册表单中添加嵌套字段。
我正在处理的rails应用程序已经安装在用户模型上。
在路线中
我有
devise_for :users, :controllers => {:registrations => "registrations"}
resources :users
注册表单位于views / devise / registrations / new.html.erb
中我有一个带有new和create方法的users_controller.rb
在users_controller.rb中有这个before_filter
before_filter :authenticate_admin!
我们已安装了有效的管理员。我对代码还很陌生。由于此过滤器存在,我确信没有在此控制器中创建用户。
当我去
/users/sign_up - there is the sign up page
如果我这样做
/users/new - I am redirected to /users/sign_up
所以我猜测用户是在注册控制器中创建的,但新方法是 此
def new
session[:qbid] = params[:qbid]
session[:trial] = params[:trial]
session[:sublength] = params[:sublength]
if session[:trial] = true
@trial_flow = true
end
super
end
没有User.new对象传递给视图进行编辑?我猜这个设计并不需要它。
我对创建用户的位置感到困惑,因为我的任务是创建一个创建新用户的自定义表单。
我不知道将表单发布到哪里? registrations_controller?
用户有一个has_many订阅关联,我需要发布一个同时创建用户及其订阅的表单。