Ruby on rails Rails在进行STI时设计登记表

Ruby on rails Rails在进行STI时设计登记表,ruby-on-rails,devise,single-table-inheritance,Ruby On Rails,Devise,Single Table Inheritance,我不知道如何创建一个工人和一个协会。所以我可以把这些联系起来。我在用户中有一个colulm类型。 这是我的表格(http://localhost:3000/workers/sign_up): Create Worker 资源名称:url=>注册路径(资源名称))do | f |%> “设计/共享/链接”%> 这是我的模型: Class Worker < User devise :database_authenticatable, :registerable end Cla

我不知道如何创建一个工人和一个协会。所以我可以把这些联系起来。我在用户中有一个colulm类型。
这是我的表格(http://localhost:3000/workers/sign_up):

Create Worker
资源名称:url=>注册路径(资源名称))do | f |%>



“设计/共享/链接”%>
这是我的模型:

Class Worker < User
devise :database_authenticatable, :registerable
end

Class Company < User
devise :database_authenticatable, :registerable
end

Class User < Appliaction::Base
devise :database_authenticatable, :registerable
end
Class-Worker
我想创建一个注册表单,创建一个用户和一个工作者。 我在工人表中有我想在登记表中填写的姓名、年龄和地址

它应该是一个嵌套表单,并且我应该在worker和User表之间创建关联

致以最良好的祝愿,
Rails初学者

我认为您正在寻找
工作者
用户
。我认为您不需要从User继承Worker类。如果您想在创建工作进程后创建用户,可以在回调中执行此操作。

确定找到答案,您需要为子类添加路由,然后将用户定向到相关路由,如

devise_for :companies
devise_for :workers
然后,您可能需要为它们中的每一个生成视图

script/rails generate devise:views companies
如果您的视图中没有重大差异,您可以从公司模板中的用户模板渲染文件,如下所示

render :file => 'users/registrations/new'
在控制器和视图中,您仍将使用标准用户登录


希望它能帮助我知道你是否找到更好的方法

我有一个STI,因为我希望员工和公司能够使用相同的登录表单登录。我还没有弄明白如何创建表单。我尝试在worker窗体中创建嵌套的worker窗体。但这是不可能的。我还尝试将f.text_field:name添加到注册表中,但它要么不起作用。
render :file => 'users/registrations/new'