您好我正在尝试处理我的第一个rails项目,并且想知道是否可以将显示或索引视图(相册)与创建更多相册的表单相结合。 URL是否没有正确的参数来执行此操作?我是否能够在表单上设置操作以使其“创建”并在成功时再次重定向到索引页面?
答案 0 :(得分: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