在另一个控制器的操作中从一个控制器渲染部分时,缺少模板错误

时间:2013-05-06 18:31:47

标签: ruby-on-rails ruby ruby-on-rails-3

您好我是rails和mvc的新手,但我的应用程序有用户,我想允许某人使用bootstrap模式从主页快速注册,并允许他们通过正常的注册页面注册。

在我的用户控制器中,我为模态_newUserModal.html.erb创建了一个部分,我想在家庭控制器的索引操作中使用它。

我已经读过我应该从动作中的另一个控制器加载部分内容。所以我正在尝试以下

class HomeController < ApplicationController
  def index
    render 'users/newUserModal'
  end
end

这给了我错误

  

缺少模板

     

使用{:locale =&gt; [:en]缺少模板用户/ newUserModal,   :formats =&gt; [:html],:handlers =&gt; [:erb,:builder,:coffee]}。搜索范围:   *“/ home / jeff / Development / iHaul / app / views”*“/ home / jeff / Development / iHaul”*“/”

我有一种感觉,我错过了一些小事,但我无法理解。

好的将渲染移动到home.html.erb的底部,它允许我的代码工作。我知道这不是最好的做法,但它现在有效。如果有人能够对这个有用的问题有所了解。

我对任何使用其他控制器的部分内容的人的建议是,不要给出与方法相同的部分名称。如果你这样做,你必须专门告诉渲染使用部分文件

render :partial => 'controller/action'

如果你仔细的渲染工作正常,虽然上面的内容更具可读性。

1 个答案:

答案 0 :(得分:0)

好的,我剩下的问题是错的。经过一夜的睡眠后,我意识到我并没有将MVC模式用于它的设计目标。使用@user = User.new,我很珍惜。如果我只是在我的家庭控制器的索引功能中使用它,一切都很好。