【问题标题】:Rails: render template looking for the wrong partialRails:渲染模板寻找错误的部分
【发布时间】:2013-06-13 08:32:32
【问题描述】:

我有一个 TasksController 和一个 SubtasksController。在来自 SubtasksController 的动作的给定时刻,我想:

# app/controllers/tasks_controllers.rb
render 'tasks/index' # Or: render template: 'tasks/index'

但是,当从视图调用该操作时,似乎 rails 正在尝试渲染错误的局部:

ActionView::Template::Error (Missing partial subtasks/tasks, private_area/tasks, application/tasks with {:locale=>[:ca, :es], :formats=>[:js, :html], :handlers=>[:erb, :builder, :slim, :jbuilder, :coffee, :haml]}. Searched in:
  * "/Users/****/app/views"

我真的不明白这里发生了什么,有什么想法吗?

【问题讨论】:

标签: ruby-on-rails render


【解决方案1】:

当您呈现另一个控制器操作时,显示的页面将在调用控制器视图中查找其自身的任何部分。

您可以通过在页面中显式声明部分路径来解决此问题,这样即使从另一个控制器调用它也总是会在正确的位置查找。

# tasks/index page 
<%= render 'tasks/some_partial' %>

现在,无论哪个控制器呈现此页面,它都将始终在 tasks 中查找其部分内容。

【讨论】:

    猜你喜欢
    • 2011-05-23
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多