1
我已经在同一视图中构建了来自不同模型的多个表单的仪表板。我的目标是让每个表单的所有错误消息在仪表板上呈现。仪表板是PagesController的一部分,表单属于其他控制器。Rails在一个视图中呈现多个表单呈现错误问题
目前所有的表格都很好用。但是,如果发生错误,则会在其他视图中呈现而不是仪表板。当我试图“呈现”仪表板页面上的错误时,我收到其他表单模型丢失的错误。
在仪表板视图外呈现的“渲染”的示例。
class NotesController < ApplicationController
def create
@note = Note.new(params[:note])
if @note.save
flash[:notice] = "Note Created!"
redirect_to dashboard_path
else
flash[:alert] = "Note failed"
render :action => "new"
end
end
end
我想工作的例子,它呈现仪表板视图内的错误。
class NotesController < ApplicationController
def create
@note = Note.new(params[:note])
if @note.save
flash[:notice] = "Note Created!"
redirect_to dashboard_path
else
flash[:alert] = "Note failed"
render 'pages/home'
end
end
end
要重申,我试图让它这样所有的错误都将显示在仪表板页面上破了该网站。如果您想了解更多信息,请告诉我。
我可能会错误地理解这一点,但是当我使用渲染“页/家”我的观点无法加载。我怀疑这是做'页/家'没有加载所有必要的实例变量。因为渲染是渲染页面/主页视图,但不是具有实例变量的页面/主页操作。 – jlarry
它看起来像我需要像这个宝石,https://github.com/rails/render_component,我只是想弄清楚是否有一个正确的方法来做到这一点在轨道。 – jlarry
您可以创建一个load_home私有方法,为您加载实例变量。 (编辑答案) –