嗨,我正在尝试处理我的第一个 Rails 项目,并且想知道是否可以将(相册的)显示或索引视图与创建更多相册的表单结合起来。URL 是否没有正确的参数来执行此操作?我能否在表单上设置操作以使其“创建”并在成功时再次重定向到索引页面?
问问题
317 次
1 回答
2
当然你可以做到这一点,只需将表单代码放在你想要创建/更新的任何页面上,它就会起作用。
唯一的问题是在成功或不成功的创建/更新之后操作会将您重定向到的位置:通常从new
页面,您将在成功时重定向到新创建的记录(show
新记录的操作),然后返回到new
失败的操作(表单字段上有错误)。如果您想从不同的页面创建/更新记录,并在每种情况下将操作重定向到不同的页面,那么您只需要做更多的工作。
可能的做法是向表单添加一个隐藏参数,其中包含要重定向到的操作,并对其进行操作检查并相应地重定向。例如:
VALID_REDIRECT_ACTIONS = ["show", "index"]
def create
...
if @photo.save
flash[:success] = "Photo successfully created!"
if VALID_REDIRECT_ACTIONS.include?(params[:redirect])
redirect_to params[:redirect]
else
redirect_to @photo
end
else
...
end
end
于 2012-09-30T00:10:52.967 回答