Ruby on rails 具有不同用户的中心
我工作的网站有很多中心。每个中心可以有零个或多个课程。 我们需要一份注册表格来创建新的中心 用户与中心的关系Ruby on rails 具有不同用户的中心,ruby-on-rails,devise,Ruby On Rails,Devise,我工作的网站有很多中心。每个中心可以有零个或多个课程。 我们需要一份注册表格来创建新的中心 用户与中心的关系 课程中心
课程中心
正如你们所看到的,我正在使用Desive,但它与Center无关,因为我们希望能够在某个时候为一个具有不同权限的Center创建不同的用户
棘手的部分来了。注册表单应由用户字段和中心字段组成。在注册过程中,我们必须做到:
- 创建新用户
- 创建一个新中心
- 将新用户分配到新中心
views/center/new.html.erb
),然后我想在center的创建操作中管理用户字段(注册用户)。但是,我不确定如何将designe包含在等式中(在CentersController#create中)
如何在注册表格中包含中心字段?这样做的最佳方式是什么
谢谢。一个选项是定制设计视图和控制器 首先生成这些文件:
rails g devise:views
rails g devise:controllers users
在新注册视图中,让我们为中心添加一个字段:
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
# ...
<div class="field">
<%= label_tag :center %><br />
<%= text_field_tag :center %>
</div>
<% end %>
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
# ...
<div class="field">
<%= label_tag :center %><br />
<%= text_field_tag :center %>
</div>
<% end %>
class Users::RegistrationsController < Devise::RegistrationsController
# ...
# POST /resource
def create
super
# assuming Center just has a name attr
@user.create_center(name: params[:center])
@user.save
end
# ...
end