【发布时间】:2013-09-01 16:39:30
【问题描述】:
我正在尝试在控制器内为我的请求类创建一个新用户,但遇到了一些困难。下面是我在请求控制器中的“创建”操作。我意识到我不能只调用 User.new,但不确定如何构建正确的 POST 操作。
def create
@request = Request.new(params[:request])
@user = User.find_by_email(@request.email)
if @user.present?
@request.user_id = @user.id
@request.save
else
user = User.new
user.email = @request.email
user.zip = @request.zip
user.save
@request.user_id = user.id
@request.save
end
respond_to do |format|
if @request.save
UserMailer.request_confirmation(@request).deliver
UserMailer.request_notification(@request).deliver
format.html { redirect_to confirmation_url }
format.json { render json: @request, status: :created, location: @request }
else
format.html { render action: "new" }
format.json { render json: @request.errors, status: :unprocessable_entity }
end
end
end
【问题讨论】:
-
您是否收到任何错误消息?
-
我是否遗漏了什么或者为什么
Request与User具有相同的属性? (电子邮件,邮编) -
对了,你们这两个模型有关系吗?
标签: ruby-on-rails controller models rails-models