我正在使用Mailboxer,以便用户可以回复我网站中的帖子。我的网站中有两种类型的帖子模型,用户可以回复,即“请求”和“报价”。
这是我的消息控制器:
class MessagesController < ApplicationController
# GET /message/new
def new
@request = Request.find(params[:request])
@message = current_user.messages.new
@user = @request.user
end
def reply
@conversation ||= current_user.mailbox.conversations.find(params[:id])
end
# POST /message/create
def create
@user = User.find(params[:user])
@body = params[:body]
@subject = params[:subject]
current_user.send_message(@user, params[:body], params[:subject])
flash[:notice] = "Message has been sent!"
redirect_to :conversations
end
end
在new
操作中,我使用的是@request,但是如果我回复Offer帖子,则需要使用@offer变量。有没有一种方法可以使用if语句根据new
调用操作的视图在@offer和@request之间进行选择?这是解决此问题的最佳方法吗?
这不是世界上最优雅的事情,而是应该如此简单的事情。
if params[:request]
@request = Request.find(params[:request])
else
@offer = Offer.find(params[:offer])
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句