Ruby 如果选项卡不消失,则无法在同一页上呈现控制器操作视图
我是一个RubyonRails新手,正在开发一个Rails3.1应用程序,其中包括带twitter引导的TabulousGem和formtastic引导gems 我的应用程序中有一个控制面板,位于一个名称空间区域下 在视图目录中的名称空间区域下,我有一个控制面板目录,它下面有一个与任何控制器操作不对应的视图页,除了一个与控制器相关的视图页,该控制器名为controlpanel_controller.rb action,名为control panel,用作控制面板的主页 目录结构如下: app/controllers/manager/controlpanel\u controller.rb app/views/manager/controlpanel/controlpanel.html.erb app/views/manager/controlpanel/project.html.erb app/views/manager/controlpanel/graphs.html.erb 我相信我尝试做的很简单,我已经创建了一个导航菜单,它链接到这个控制面板目录下的不同视图,我想要的是当用户单击导航菜单中标记为project的链接时,在其中一个视图(project.html.erb)中显示选项卡 问题是: 我已经设法实现了我所需的选项卡,这些选项卡映射到不同的控制器动作并显示在视图中,但单击选项卡时,选项卡不会在同一页上呈现动作视图,而是将我链接到另一页。因此,基本上选项卡消失,我被路由到我将单击的选项卡的控制器视图操作,而不是保持在同一页面上。有没有人能提供一些建议,说明为什么这项工作没有达到预期效果?因为我看不出我错在哪里 我已经在下面的project.html.erb视图文件和tabulus.rb文件中包含了当前的代码 project.html.erb:Ruby 如果选项卡不消失,则无法在同一页上呈现控制器操作视图,ruby,ruby-on-rails-3,ruby-on-rails-3.1,rubygems,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,Rubygems,我是一个RubyonRails新手,正在开发一个Rails3.1应用程序,其中包括带twitter引导的TabulousGem和formtastic引导gems 我的应用程序中有一个控制面板,位于一个名称空间区域下 在视图目录中的名称空间区域下,我有一个控制面板目录,它下面有一个与任何控制器操作不对应的视图页,除了一个与控制器相关的视图页,该控制器名为controlpanel_controller.rb action,名为control panel,用作控制面板的主页 目录结构如下: app/c
<ul class="tabs" >
<%= tabs %>
</ul>
config.tabs do
[
#------------------------------------------------------------------------------------------------------------------------#
# TAB NAME | DISPLAY TEXT | PATH | VISIBLE? | ENABLED? #
#------------------------------------------------------------------------------------------------------------------------#
[ :manager_controlpanel_tab , 'Control panel' , '' , false , true ],
[ :manager_tasks_tab , 'Tasks' , :manager_tasks_path , true , true ],
[ :manager_graphs_tab , 'Graphs' , :manager_graphs_path , true , true ],
#------------------------------------------------------------------------------------------------------------------------#
# TAB NAME | DISPLAY TEXT | PATH | VISIBLE? | ENABLED? #
#------------------------------------------------------------------------------------------------------------------------#
]
end
#-------------
# ACTIONS
#-------------
#
# This is where you hook up actions with tabs. That way tabulous knows
# which tab and subtab to mark active when an action is rendered.
#
# CONTROLLER
# the name of the controller
# ACTION
# the name of the action, or :all_actions
# TAB
# the name of the tab or subtab that is active when this action is rendered
config.actions do
[
#------------------------------------------------------------------------------------#
# CONTROLLER | ACTION | TAB #
#------------------------------------------------------------------------------------#
[ :manager_controlpanel , :all_actions , :manager_controlpanel_tab ],
[ :manager_tasks , :all_actions , :manager_tasks_tab ],
[ :manager_graphs , :all_actions , :manager_graphs_tab ],
#------------------------------------------------------------------------------------#
# CONTROLLER | ACTION | TAB #
#------------------------------------------------------------------------------------#
]
end
听起来,您的控制器、动作和视图的组织方式与tabulous预期的不同。例如,您说“我想要的是在其中一个视图中显示选项卡”,但对于服务器端选项卡解决方案(如tabulous和TabsOnRails),每个选项卡的内容应该是不同的视图 应该发生的是,如果您有四个选项卡,那么您应该有四个操作——每个选项卡一个。这四个行动应该有自己的看法。您应该在布局中调用选项卡辅助对象,而不是在单个视图中 因此,要么您需要重新组织您的操作和视图,要么您正在尝试的操作不适合tabulous(也许您想要Ajax选项卡?)
希望这有帮助。您需要的是将下面的代码移动到布局中。例如,到application.html.erb:
#app/application.html.erb
<ul class="tabs" >
<%= tabs %>
</ul>
#app/application.html.erb
感谢您的回复。每个选项卡都有自己的操作和视图,我试图做的是在静态页面中调用选项卡帮助器,而不是布局文件。我将研究ajax选项卡选项。