我如何为部分视图编写动作方法?

时间:2010-05-13 06:07:36

标签: ruby-on-rails

我像这样渲染视图。

<%= render(:partial => "index" ,:controller=>"controller_name") %>

所以这将部分呈现 controller_name / _index.html.erb

这是我的疑问。我能为这个_index写一个动作方法吗?这样的事情?

class ControllerNameController < ApplicationController
  def _index
  end
end

感谢。

1 个答案:

答案 0 :(得分:10)

不,这应该是

class ControllerNameController < ApplicationController
  def index
   render :partial=>'index'
  end
end

编辑:详细解释我的答案 - 当您编写方法method_name而您没有renderredirect_to)任何内容时,控制器将默认查找页面method_name.html.erb

但是,使用如下所示的render :partial,该操作将适用于部分。

例如

class ControllerNameController < ApplicationController
  def some_method_name
   render :partial=>'index'  #look for the _index.html.erb
  end
end


class ControllerNameController < ApplicationController
  def some_method_name
   render :action=>'index'  #look for the index.html.erb
  end
end


class ControllerNameController < ApplicationController
  def some_method_name  #look for the "some_method_name.html.erb"

  end
end