我设置了两个操作来从数据库中获取特定项目,如下所示:
的routes.rb
match 'bibles' => 'documents#bibles'
match 'postcards' => 'documents#postcards'
documents_controller.rb
def bibles
@pagetitle = "Browse all Bibles"
@documents = Document.where(:document_type_id => 1).paginate(:page =>params[:page], :order =>'id desc', :per_page =>50)
end
def postcards
@pagetitle = "Browse all Postcards"
@documents = Document.where(:document_type_id => 3).paginate(:page =>params[:page], :order =>'id desc', :per_page =>50)
end
这些视图呈现特定视图,这两个视图都由相同的代码bibles.html.erb
和postcards.html.erb
组成。我需要这个指向相同的观点。是否有一个参数要添加到将执行此操作的路由中,或者我的路由是否因此而不正确?
答案 0 :(得分:3)
只需在您的操作中添加render "documents"
,并将您的视图命名为documents.html.erb
。
答案 1 :(得分:1)
在每个方法结束时添加:
render "documents/index"
然后创建视图app/views/documents/index.html.erb
,你就会好起来。
答案 2 :(得分:1)
使用render
,您可以指定要渲染的部分。阅读更多api doc
答案 3 :(得分:0)
供我自己参考 - 另一种方式:
respond_to do |format|
format.text {render :template=>"app/views/documents/index.html.erb" }
end