在管理后台的配置页面,包含tab标签
tab标签的加载步骤如下:
settings/index -> settings/edit
<%= render_tabs administration_settings_tabs %>
render_tabs 的定义在
.//helpers/application_helper.rb
# Renders tabs and their content
def render_tabs(tabs, selected=params[:tab])
if tabs.any?
unless tabs.detect {|tab| tab[:name] == selected}
selected = nil
end
selected ||= tabs.first[:name]
render :partial => 'common/tabs', :locals => {:tabs => tabs, :selected_tab => selected}
else
content_tag 'p', l(:label_no_data), :class => "nodata"
end
end
视图在./app/views/common/_tabs.html.erb 文件中
administration_settings_tabs 的定义在:
./app/helpers/settings_helper.rb
def administration_settings_tabs
tabs = [{:name => 'general', :partial => 'settings/general', :label => :label_general},
{:name => 'display', :partial => 'settings/display', :label => :label_display},
{:name => 'authentication', :partial => 'settings/authentication', :label => :label_authentication},
{:name => 'projects', :partial => 'settings/projects', :label => :label_project_plural},
{:name => 'issues', :partial => 'settings/issues', :label => :label_issue_tracking},
{:name => 'notifications', :partial => 'settings/notifications', :label => :field_mail_notification},
{:name => 'mail_handler', :partial => 'settings/mail_handler', :label => :label_incoming_emails},
{:name => 'repositories', :partial => 'settings/repositories', :label => :label_repository_plural}
]
end