私は Ruby on Rails にまったく慣れていないので、カスタム CSS ファイルを Devise (サインアップ ビュー) に配置したいと考えていました。グローバル CSS を application.js (アセット パイプライン) に配置し、2 つのヘルパー関数を配置しました。
helpers/application_helper.rb
def javascript(*files)
content_for(:head_javascript) { javascript_include_tag(*files) }
end
def stylesheet(*files)
content_for(:head_stylesheet) { stylesheet_link_tag(*files) }
end
そして私のビュー/レイアウト/application.html.erb
<!DOCTYPE html>
<%
if (controller.controller_name == "sessions") && (controller.action_name == "new")
javascript 'theme/signup'
stylesheet 'theme/signup'
end
%>
<html>
<head>
<title>Mysite</title>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
<![endif]-->
<%= yield(:head_stylesheet) %>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= yield(:head_javascript) %>
<%= csrf_meta_tags %>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<%= yield %>
</body>
</html>
次に、Devise ビューを生成し、Twitter のブートストラップ フォームを調整しました。
rails generate devise:views
そして今、 signup.cssをサインアップ ビュー内に配置したいのですが、どうすればよいでしょうか?
そこで、ヘルパー メソッドを使用するために、Devise コントローラーを作成しました。
bash <(curl -s https://raw.github.com/foohey/cdc/master/cdc.sh)
ヘルパーが次の作業をしていないため、今は行き詰まっています。
<%
if (controller.controller_name == "sessions") && (controller.action_name == "new")
javascript 'theme/signup'
stylesheet 'theme/signup'
end
%>
レールでカスタム css ファイルを処理する簡単な方法はありますか? 私はアセット パイプラインの概念に不慣れで、少し混乱しています。
手伝ってくれてありがとう。