gpt4 book ai didi

ruby-on-rails - 在另一个 Controller 中渲染一个 Action

转载 作者:行者123 更新时间:2023-12-04 05:35:33 25 4
gpt4 key购买 nike

( rails 2.3.5)

我有两个脚手架:目录和用户

对于目录显示操作(例如显示操作:“\directories\2”),我采用了 User\New 表单并将其设为部分,以便用户可以将用户添加到目录中。我无法弄清楚的是,如果有任何验证错误,我如何在创建操作中返回到“\directories\2\show”。如果 User.save 成功则返回工作正常,我只是不知道如何格式化 Render 操作以返回到目录并在 New User 部分中显示错误消息和字段。

如果保存成功,这可以正常工作,如果出现错误,则使用相同的东西将起作用,除非不会显示 error_messages(我知道错误消息仅假设传递给渲染,而不是重定向,但我不能找出涉及 id 参数时渲染操作所涉及的语法):

format.html { redirect_to directory_path(@user.directory_id) }

用户在 Direcory Show 操作中创建由部分调用的操作:
定义创建
@user = User.new(params[:user])
    respond_to do |format|
if @user.save
flash[:notice] = 'User ' + @user.name+ ' was successfully created.'
format.html { redirect_to directory_path(@user.directory_id) }
format.xml { render :xml => @user, :status => :created, :location => @user }
else
# what to do here to successfully return to 'directories\show\(@user.directory_id)'
# and what to do here that successfully passed the error_messages
end
end
end

感谢您的帮助 - 希望这是有道理的

最佳答案

要从另一个 Controller 渲染 Action ,您需要指定要渲染的模板。

渲染:模板 => 'other_controller/view_template_name'

P.S:请记住,您必须定义其他 Controller 操作定义的任何实例变量,这些变量是 View 渲染所必需的,因为渲染模板不会在渲染 View 之前调用其他 Controller 的函数。

关于ruby-on-rails - 在另一个 Controller 中渲染一个 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4581269/

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