RubyのGemfilesへのバージョンの書き方を忘れるのでメモ
バージョンを4.1.8に固定する
gem "rails", "4.1.8"
バージョンを4.1.8以上の最新にする
4.2とか入ります
gem "rails", ">=4.1.8"
バージョンを4.1.8以上、4.1.xの最新が入ります
4.2以上にはなりません
gem "rails", "~>4.1.8"
ひびのきろく
RubyのGemfilesへのバージョンの書き方を忘れるのでメモ
バージョンを4.1.8に固定する
gem "rails", "4.1.8"
バージョンを4.1.8以上の最新にする
4.2とか入ります
gem "rails", ">=4.1.8"
バージョンを4.1.8以上、4.1.xの最新が入ります
4.2以上にはなりません
gem "rails", "~>4.1.8"
RubyはRailsから入って、Rubyがわからずはまっている気がしたので
を買いました
1章を読んでみた気づきをメモ
Rubyではすべてがオブジェクトです
コードの出力をコメント # で書いてます
p 100.to_s
# "100"
p 100.class
# Fixnum
p nil
# nil
p nil.class
# NilClass
100とかnil(いわゆるnull)もクラスです
100はFixnumクラスなので、to_sとかメソッドを持っています
def sample_method
'sample'
end
p sample_method
# "sample"
メソッドは は snake caseで書くのが一般的
def happy?
true
end
p 'happy' if happy?
# "happy"
メソッドには ? もつけられる
bool値を返すメソッドとわかりやすい
sample_variable = 'sample'
p sample_variable
# "sample"
変数名はsnake case が一般的
1.upto(2) do |n|
puts n
end
# 1
# 2
こんなのがブロックという
1.upto(2) {|n| puts n}
# 1
# 2
ブロックを一行で書くとこう
Ruby 面白いかも
vagrantでubuntuを起動、ruby on railsをインストールして
$ rails s
=> Booting WEBrick
=> Rails 4.2.0 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2015-02-07 05:49:04] INFO WEBrick 1.3.1
[2015-02-07 05:49:04] INFO ruby 2.2.0 (2014-12-25) [x86_64-linux]
[2015-02-07 05:49:04] INFO WEBrick::HTTPServer#start: pid=2359 port=3000
としてサーバー起動
vagrantで固定IP 192.168.33.10 をふって、port 3000でつながるようにしておいたので
http://192.168.33.10:3000/
で、ブラウザにアクセス..がアクセスできない
rails s のコンソールにも反応が無いです
ping 192.168.33.10は通る
rails 2.2からは localhost しかつながらないらしい
$ rails s -b 0.0.0.0
とするとどのアドレスからもつながるようです
これで解決しました
$ gem install mysql2
でエラー発生
[code lang=text]
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
–with-opt-dir
–without-opt-dir
–with-opt-include
–without-opt-include=${opt-dir}/include
–with-opt-lib
–without-opt-lib=${opt-dir}/lib
–with-make-prog
–without-make-prog
–srcdir=.
–curdir
–ruby=/home/vagrant/.rbenv/versions/2.2.0/bin/$(RUBY_BASE_NAME)
–with-mysql-dir
–without-mysql-dir
–with-mysql-include
–without-mysql-include=${mysql-dir}/include
–with-mysql-lib
–without-mysql-lib=${mysql-dir}/lib
–with-mysql-config
–without-mysql-config
–with-mysql-dir
–without-mysql-dir
–with-mysql-include
–without-mysql-include=${mysql-dir}/include
–with-mysql-lib
–without-mysql-lib=${mysql-dir}/lib
–with-mysqlclientlib
–without-mysqlclientlib
–with-mlib
–without-mlib
–with-mysqlclientlib
–without-mysqlclientlib
–with-zlib
–without-zlib
–with-mysqlclientlib
–without-mysqlclientlib
–with-socketlib
–without-socketlib
–with-mysqlclientlib
–without-mysqlclientlib
–with-nsllib
–without-nsllib
–with-mysqlclientlib
–without-mysqlclientlib
–with-mygcclib
–without-mygcclib
–with-mysqlclientlib
–without-mysqlclientlib
extconf failed, exit code 1
Gem files will remain installed in /home/vagrant/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/mysql2-0.3.17 for inspection.
Results logged to /home/vagrant/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/extensions/x86-linux/2.2.0-static/mysql2-0.3.17/gem_make.out
Installing truncate_html 0.9.2
Installing spring 1.2.0
An error occurred while installing mysql2 (0.3.17), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.3.17'` succeeds before bundling.
[/code]
調べてたらmysql周りのものが足りないらしく
$ sudo apt-get install mysql-client libmysqlclient-dev
で解決しました