SlideShare a Scribd company logo
株式会社アジャイルウェア
代表取締役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 use 2.0.0 --default
$ 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, :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/
ジャンル別に管理する
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
ジャンル別に管理する (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>
ジャンル別に管理する (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>
音楽を再生する
音楽コントロール
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
音楽を再生する (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>
音楽を再生する (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
....
音楽リスト画面で再生!
Q&A Time

More Related Content

PDF
Sinatra and heroku for mac
PDF
最近のRails事情 - 4.1!
KEY
エクストリーム・プログラミング開発事例TOP5 - Agile Japan 2011
PDF
RedmineとGitHubのうまい関係
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
PDF
Storytelling For The Web: Integrate Storytelling in your Design Process
PDF
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Sinatra and heroku for mac
最近のRails事情 - 4.1!
エクストリーム・プログラミング開発事例TOP5 - Agile Japan 2011
RedmineとGitHubのうまい関係
2024 Trend Updates: What Really Works In SEO & Content Marketing
Storytelling For The Web: Integrate Storytelling in your Design Process
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Ad

Try Rails4