我有一个简单的rails应用程序用于浏览器书签。
image here
在顶部看到的书签是包含左侧边栏中的子类别文件夹的文件夹。
当点击左侧的文件夹时,会获得该文件夹的书签列表。即带有参数的书签#index。同样是文件夹#index,左侧和顶部有参数。如何在一个页面上渲染所有3个控制器动作?
答案 0 :(得分:0)
你可以肯定地从不同的动作渲染到一个公共页面,参见示例: -
在bookmarks_controller.rb
def index
#do your stuffs
render "path_of_comman_page",locals: {x: "foo", y: "bar"}
end
folder_controller.rb
中的
def index
#do your stuffs
render "path_of_comman_page",locals: {x: "foo", y: "bar"}
end
因此,您可以在comman页面访问所有locals变量。像x, y
path_of_comman_page可以是/bookmarks/listings
,这意味着您要将数据呈现给bookmarks controller listings.html.erb
替代方案可以通过常见的部分来完成,例如
def index
#do your stuffs...
respond_to do |format|
format.html { render partial: "listings/listing", locals: {x: "foo", y: "bar"}}
end
end
答案 1 :(得分:0)
实际上我想要这样,不知何故用js。也许它也可以用控制器...... 文件夹/ index.haml
.container_top
- @folders.each do |f|
- if f.is_rootparent?
-# send ajax to fetch subcategory folders!
=link_to folder_path(parent: f), remote: true do
.bookmark_vertical
%p = f.title
.container_left
#appendsubcategoryfoldershere