地味に便利だと思って使っているシェルalias
これなんですが、(一部から頭悪そうとか聞こえてくる)
alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias .....='cd ../../../..' alias ......='cd ../../../../..' alias .......='cd ../../../../../..'
pwd するとたまに深かったりするじゃないですか。こんな風に
/path/to/d/i/r/too/deep
pwd の結果の path を見ながら、移動したい場所まで 1, 2, 3 と数えながらドットを打つわけです。
rails + npm で heroku デプロイするとき
rails アプリを git push heroku master したら npm install もやってほしくて、こうしておいたらうまくいっている。
heroku buildpacks:set heroku/nodejs
Railsでnpmを使う今の所のやり方
自分の場合こうやっていますというものです。
Rails.root に普通に package.json を置き、普通に npm install する .gitignore で /node_modules などしておく
application.js はどうしているかというと、
特に問題無ければ require_tree .
で全部対象にすればよい。
後述するが、これでは node_modules 以下も全部対象に
なってしまうので、それではまずい場合には個別に指定するなど変更する。
//= require_tree .
/node_modules を assets.paths に追加する
# config/initializers/assets.rb Rails.application.config.assets.paths << Rails.root.join("node_modules")
precompile 対象に必要なものを追加する
config/application.rb config.assets.precompile += %w( foo.js/*.js foo.js/css/bar.css )
こんな感じに使います
<%= stylesheet_link_tag "foo.js/css/bar.css", media: "all" %> <%= javascript_include_tag "foo.js/js/foo.js" %> <%= asset_path("foo.js/js/bar.js") %>
ruby 1行で rescue
最初の行、そうかー rescue でこういう if 文が書けるのかー。と思った。
if (ActionDispatch::Integration::Session.instance_method(:process_with_kwargs) rescue false) let(:send_request) do send http_method, path, params: request_body, headers: env end else let(:send_request) do send http_method, path, request_body, env end end
rails layout に対して個別に値を設定したい時
例えばこう、共通のレイアウトを適用したいけれど、タイトルだけは個々のものを使いたい。みたいな事例です。
# sample_layout.html.erb <html> <head> <title><%= yield(:title) %></title> </head> <body> <%= yield %> </body> </html>
個々の view で provide しました。
<%= provide(:title, @article.title) %> <%= raw(@article.content) %>
rails layout を デフォルト(application.html.erb)から変更したい時
こんな風に使い分けることができる
class ArticlesController < ApplicationController def without_layout render layout: false end def presentation render layout: "presentation" end end
某サービスにスライド機能つけようとしています