株式会社アジャイルウェア
代表取締役CEO 川端 光義
agilekawabata
Try Rails4.0
Ruby関西
$ curl -L https://get.rvm.io | bash -s stable
Ruby Install
Macのターミナルを立ち上げ
1. RVMのインストール
2. Rubyのインストール
$ rvm install 2.0.0...
$ rvm gemset create rtunes
$ rvm gemset use rtunes
$ gem i rails --no-ri --no-rdoc
$ gem list
Rails Install
1. rTunesプロジェクト作成
2. 楽曲を管理する
3. ジャンル別に管理する
4. 音楽を再生する
rTunes
$ rails new rtunes
$ cd rtunes
$ rails s
rTunesプロジェクト作成
http://localhost:3000/
ブラウザで確認
楽曲を管理する
MusicのScaffold
名前の必須
日本語化
$ rails g scaffold music name:string artist:string
$ rake db:migrate
validates :name, :p...
ジャンル別に管理する
GenreのScaffold
音楽にジャンルの追加
$ rails g scaffold genre name:string
$ rake db:migrate
$ rails g migration add_genre_...
ジャンル別に管理する (2)
ジャンルのSelectBox
音楽リストにジャンルを表示
<div class="field">
<%= f.label :genre %><br>
<%= f.select :genre_id, Genre.all...
ジャンル別に管理する (2)
ジャンルのSelectBox
音楽リストにジャンルを表示
<div class="field">
<%= f.label :genre %><br>
<%= f.select :genre_id, Genre.all...
音楽を再生する
音楽コントロール
routesに追加
<td><audio src="<%= data_music_path(music) %>"
controls /></td>
resources :musics do
member do
...
音楽を再生する (2)
音楽にファイル名の追加
ファイルアップロード
$ rails g migration add_filename_to_musics filename:string
$ rake db:migrate
<%= form_for...
音楽を再生する (3)
ファイルアップロード
def update
file = params[:file]
File.open(Rails.root.join('public', file.original_filename), 'wb') do |...
Q&A Time
Upcoming SlideShare
Loading in …5
×

Try Rails4

2,311 views

Published on

初めてのRails4プログラミング。
Ruby/Railsのインストールからscaffold、モデルの関連、ファイルアップロードができます。
JAWS FESTA2013のハンズオンで使った資料です。

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,311
On SlideShare
0
From Embeds
0
Number of Embeds
27
Actions
Shares
0
Downloads
7
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Try Rails4

  1. 1. 株式会社アジャイルウェア 代表取締役CEO 川端 光義 agilekawabata Try Rails4.0 Ruby関西
  2. 2. $ curl -L https://get.rvm.io | bash -s stable Ruby Install Macのターミナルを立ち上げ 1. RVMのインストール 2. Rubyのインストール $ rvm install 2.0.0 $ rvm use 2.0.0 --default
  3. 3. $ rvm gemset create rtunes $ rvm gemset use rtunes $ gem i rails --no-ri --no-rdoc $ gem list Rails Install
  4. 4. 1. rTunesプロジェクト作成 2. 楽曲を管理する 3. ジャンル別に管理する 4. 音楽を再生する rTunes
  5. 5. $ rails new rtunes $ cd rtunes $ rails s rTunesプロジェクト作成 http://localhost:3000/ ブラウザで確認
  6. 6. 楽曲を管理する MusicのScaffold 名前の必須 日本語化 $ rails g scaffold music name:string artist:string $ rake db:migrate validates :name, :presence => true gem 'i18n_generators' $ bundle $ rails g i18n ja >> Gemfile >> 今 ja.ymlが取れない $ wget https://raw.github.com/svenfuchs/rails-i18n/master/rails/ locale/ja.yml -P config/locales/
  7. 7. ジャンル別に管理する GenreのScaffold 音楽にジャンルの追加 $ rails g scaffold genre name:string $ rake db:migrate $ rails g migration add_genre_id_to_musics genre_id:integer $ rake db:migrate belongs_to :genre >> music.rb def music_params params.require(:music).permit(:name, :artist, :genre_id) end >> musics_controller.rb
  8. 8. ジャンル別に管理する (2) ジャンルのSelectBox 音楽リストにジャンルを表示 <div class="field"> <%= f.label :genre %><br> <%= f.select :genre_id, Genre.all.collect {|genre| [genre.name, genre.id]} %> </div> <td><%= music.genre.name %></td>
  9. 9. ジャンル別に管理する (2) ジャンルのSelectBox 音楽リストにジャンルを表示 <div class="field"> <%= f.label :genre %><br> <%= f.select :genre_id, Genre.all.collect {|genre| [genre.name, genre.id]} %> </div> <td><%= music.genre.name %></td>
  10. 10. 音楽を再生する 音楽コントロール routesに追加 <td><audio src="<%= data_music_path(music) %>" controls /></td> resources :musics do member do get 'data' end end def data @music = Music.find(params[:id]) send_data(Rails.root.join('public', @music.filename).read) end
  11. 11. 音楽を再生する (2) 音楽にファイル名の追加 ファイルアップロード $ rails g migration add_filename_to_musics filename:string $ rake db:migrate <%= form_for(@music, :html => {:multipart => true}) do |f| %> ...... <div class="field"> <%= f.label :file %><br> <%= file_field_tag :file %> </div>
  12. 12. 音楽を再生する (3) ファイルアップロード def update file = params[:file] File.open(Rails.root.join('public', file.original_filename), 'wb') do | f| f.write(file.read) end @music.filename = file.original_filename .... 音楽リスト画面で再生!
  13. 13. Q&A Time

×