gpt4 book ai didi

ruby-on-rails - rails 4 : having a proxy model to combine multiple models

转载 作者:数据小太阳 更新时间:2023-10-29 08:09:23 27 4
gpt4 key购买 nike

我正在尝试使用 rails (4)。我之前做过一些 Sinatra。

我有一个注册表单,用户可以在其中填写他的组织名称、地址和他自己的姓名、密码等。我有两个表 - 用户和组织,这些表填充了注册数据。所以,我有两个事件记录模型 usersorganizations。我的 Controller 如下所示:

class SignupsController < ApplicationController

# GET /signup
def new
# show html form
end

# POST /signup
def create
@signup = Registration.register(signup_params)
respond_to do |format|
if @signup.save
format.html { redirect_to @signup, notice: 'Signup was successfully created.' }
else
format.html { render action: 'new' }
end
end
end

private
# Never trust parameters from the scary internet, only allow the white list through.
def signup_params
params[:signup]
end
end

我没有任何Registration 模型(数据库中的表)。我正在寻找这样的 Registration 模型(我应该称之为模型吗?),我可以在其中找到类似的东西:

class Registration
def self.register params
o = Organization.new params
u = User.new o.id, params
self.send_welcome_email params[:email]
end

def send_welcome_email email
#send email here
end
end

1) 那么我应该把这个 Registration 类放在哪里?

2) 对于这种情况,这是正确的方法吗?如果不是,那么最好的方法是什么?

3) 有这样的类会影响运行任何单元测试吗?

4) 我看到有文件 signup_helper.rbSignupsController 中有什么用

最佳答案

您可以在您的模型中执行 include ActiveModel::Model,它会像普通模型一样运行。您将能够进行验证、回调。除了持久保存到数据库之外的任何内容。

看看this了解更多信息。

关于ruby-on-rails - rails 4 : having a proxy model to combine multiple models,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17715134/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com