if it does't challenge you, it can't change you

RubyのWebエンジニアやってます。主にRuby on Railsのことで勉強になったこと書いていきます。

textareaの縦幅を入力行数によって自動変更させる方法

autosizeというライブラリを使います

autosize | RubyGems.org | your community gem host

デモはこちら

方法

  1. Gemfileに記入
    gem 'autosize', '~> 2.4'
    bundleinstallを実行
  2. app/assets/javascripts/application.jsに以下を追記 //= require autosize

本来ならこれでできるはずだけど、エラーが出てassets配下を探していたので、gem environmentを実行して、GEM PATHを頼りにgemがインストールされているところへ行き、app/assets/javascripts/へautosize.jsファイルをコピーした

jqueryコード

autosize($('textarea'));
たったこれだけで、縦幅が自動で変更されます。 javascriptのコードやいろんなオプションはこちらを参考に