我像这样渲染视图。
<%= render(:partial => "index" ,:controller=>"controller_name") %>
所以这将部分呈现 controller_name / _index.html.erb
这是我的疑问。我能为这个_index写一个动作方法吗?这样的事情?
class ControllerNameController < ApplicationController
def _index
end
end
感谢。
答案 0 :(得分:10)
不,这应该是
class ControllerNameController < ApplicationController
def index
render :partial=>'index'
end
end
编辑:详细解释我的答案 -
当您编写方法method_name
而您没有render
(redirect_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