如何将资产应用于不同的控制器

时间:2014-04-03 03:07:04

标签: ruby-on-rails

我从https://wrapbootstrap.com/

购买了两个主题

我把第一个主题放在assets / index_theme

所以我在//= require_tree ../theme/js中添加了.//assets/javascripts/application.js 并添加文件.//app/assets/lenord-single-page-theme/js/application.js

.//app/assets/lenord-single-page-theme/js/application.js

//= require_tree .

并为css做了同样的事情。

但它适用于整个网站的所有页面

我只想将它应用于特定控制器的视图,仅用于索引

并将其他主题应用于其他控制人员的观点

我怎么能实现它?

.
├── images
├── javascripts
├── stylesheets
└── lenord-single-page-theme
    ├── css
    ├── fonts
    ├── img
    │   ├── portfolio
    │   ├── prettyPhoto
    │   │   ├── dark_rounded
    │   │   ├── dark_square
    │   │   ├── default
    │   │   ├── facebook
    │   │   ├── light_rounded
    │   │   └── light_square
    │   └── service
    ├── js
    └── rs-assets

1 个答案:

答案 0 :(得分:1)

在您的application.html.erb文件中:

<% if params[:controller] == 'your_controller_name' %>
      <%= stylesheet_link_tag 'index_theme.css' %>
< %end %>

如果您需要更多控制权并且只需要特定操作:

<% if params[:controller] == 'your_controller_name' && params[:action] == 'your_action_name' %>
      <%= stylesheet_link_tag 'index_theme.css' %>
< %end %>

如果您尝试控制javascript文件而不是css:

<% if params[:controller] == 'your_controller_name' && params[:action] == 'your_action_name' %>
      <%= javascript_include_tag "/assets/index_theme.js" %>
< %end %>

注意js标签包含/ assets /而css标签不包含。