Ruby on rails Rails:通过UI创建其他帐户登录
我希望当前登录的具有管理员权限的Desive用户能够为其公司的成员创建其他登录 目前,我有一个模型设置,允许我创建与当前登录的Desive用户相关的其他帐户 额外客户账户.rb: 我现在希望允许登录的用户自己创建其他帐户,而不必通过终端来创建,也不必费劲地在视图中链接表单以点击模型中的方法 如果可能的话,我更愿意将方法保留在模型中,而不是在控制器中复制代码 额外客户账户控制器.rb: 这是我在视图中的尝试,我希望控制器中的create方法包含first_name、last_name、email和password参数。我还需要通过当前登录的客户ID 额外客户账户/new.html.erb: 我希望能有一些进一步的指导,告诉我如何将我的视图与一个精简的控制器结合起来,并在模型中找到方法Ruby on rails Rails:通过UI创建其他帐户登录,ruby-on-rails,ruby-on-rails-4,devise,Ruby On Rails,Ruby On Rails 4,Devise,我希望当前登录的具有管理员权限的Desive用户能够为其公司的成员创建其他登录 目前,我有一个模型设置,允许我创建与当前登录的Desive用户相关的其他帐户 额外客户账户.rb: 我现在希望允许登录的用户自己创建其他帐户,而不必通过终端来创建,也不必费劲地在视图中链接表单以点击模型中的方法 如果可能的话,我更愿意将方法保留在模型中,而不是在控制器中复制代码 额外客户账户控制器.rb: 这是我在视图中的尝试,我希望控制器中的create方法包含first_name、last_name、email和
class ExtraCustomerAccount < ActiveRecord::Base
attr_accessible :email, :customer_id, :first_name, :last_name, :password, :password_confirmation
belongs_to :customer, :foreign_key => :customer_id
validates :customer_id, :first_name, :last_name, :email, :presence => true
def self.create_with_user(email, password, first_name, last_name, customer_id)
e = ExtraCustomerAccount.create!(email: email, first_name: first_name, last_name: last_name, customer_id: customer_id)
User.create!(first_name: e.first_name, last_name: e.last_name, email: e.email, password: password, password_confirmation: password)
end
end
$ ExtraCustomerAccount.create_with_user("email@gmail.com", "changeme123", "First_name", "Last_name", 1)
class ExtraCustomerAccountsController < ApplicationController
def new
end
def create
@new_customer_account = # What goes here to call the method in model?!
end
end
<%= form_for @new_customer_account, :url => { action: "create" }, do |f| %>
<div class="form-group">
<div class="controls">
<%= f.text_field :first_name, :class => 'form-control custom-form-control', :placeholder => 'First name' %>
</div>
</div>
<div class="form-group">
<div class="controls">
<%= f.text_field :last_name, :class => 'form-control custom-form-control', :placeholder => 'Last name' %>
</div>
</div>
<div class="form-group">
<div class="controls">
<%= f.email_field :email, :class => 'form-control custom-form-control', :placeholder => 'Email' %>
</div>
</div>
<div class="form-group">
<div class="controls">
<%= f.password_field :password, :class => 'form-control custom-form-control ', :placeholder => 'Password' %>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn-account-primary">Create Account</button>
</div>
<% end %>