2019年02月16日

Ruby on Railsでcontrollerを利用

Ruby on Railsでcontrollerを利用してみます。

以下のコマンドでPostsコマンドをジェネレートします。

rails g controller Todos


config/routes.rbにルーティングの設定を追加

Rails.application.routes.draw do
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
resources :todos
end


app/controllers/todos_controller.rbに以下の設定を追加

class TodosController < ApplicationController

def index
@todos = Todo.all.order(created_at: 'desc')
end

end



app/views/todos/index.html.erbに以下の設定を追加します。

<h2>my todos</h2>
<dl>
<% @todos.each do |post| %>
<dt><%= post.title %></dt>
<dd><%= post.body %></dd>
<% end %>
</dl>


これでhttp://localhost:3000/todos/にTODOの一覧が表示されるようになります。


posted by ねこまんま at 18:32
Comment(0) | Ruby

Ruby on RailsでコンソールからDBを操作

Ruby on Railsでは以下のコマンドでデータベースコンソールにアクセスでき直接DBを操作することができます。

rails db


たとえば以下のコマンドでデータベースの一覧を見ることができます。

.tables


以下のコマンドでtodosテーブルのレコードの一覧を表示することができます。

select * from todos;


以下のコマンドでデータベースコンソールから抜けることができます。

.quit
posted by ねこまんま at 16:44
Comment(0) | Ruby

Ruby on Railsでコンソールからデータを追加

Ruby on Railsでコンソールを利用してコマンドラインから操作を行うにはまず以下のコマンドでコンソールに入り

rails c


モデルに新しいレコードを追加したい場合は以下のコマンドで生成コマンドを作成して

t = Todo.new(title: 'タイトル',body:'本文')


実行します。

t. save


以下のコマンドで追加と実行をまとめて行うことも可能です。

Todo.creaet(title: 'タイトル2',body:'本文2')
posted by ねこまんま at 16:38
Comment(0) | Ruby

2019年02月15日

Ruby on RailsのScaffoldを使う

Ruby on RailsのScaffoldを使うことで簡単なCRUDを作成することができます。

rails g scaffoldのあとに大文字スタートでテーブル名、その後にフィールド名と型を記載して実行します。

rails g scaffold Todo title:string body:text


以下のコマンドで設定をDBに反映します。

rails db:migrate


設定が反映されたら以下のコマンドでサーバーを起動して

rails server


以下のページにアクセスすると簡単なTODOアプリが作成されています。

http://0.0.0.0:3000/todos

単純にModelを追加したいだけなら以下のコマンドで追加可能です。

rails g model Todo title:string body:text
posted by ねこまんま at 14:10
Comment(0) | Ruby

Ruby on Railsのインストール

Ruby on Railsのインストールを行います。

まずはrbenvを利用してrubyをインストールします。

次にSQLite3 のインストール

gem install sqlite3


ちゃんとインストールされたかバージョンを確認

sqlite3 --version


今回は3.19.3がインストールされました。

次にRuby on Railsをインストール

getm install rails


ちゃんとインストールされたかバージョンを確認

rails -v


今回は5.2.2がインストールされました。

これでRuby on Railsのインストールは終了

コマンドラインから新規プロジェクトを作成して立ち上げます。

rails new myApp


作成したプロジェクトに移動します。

cd myApp


そして作成したアプリを起動

rails server


で起動するはずが以下のようなエラーで立ち上がらず

#<LoadError: Error loading the 'sqlite3' Active Record adapter. Missing a gem it depends on? can't activate sqlite3 (~> 1.3.6), already activated sqlite3-1.4.0. Make sure all dependencies are added to Gemfile.>


Gemfilesを開いてsqlite3に関する記述を変更

gem 'sqlite3'

gem 'sqlite3', '~> 1.3.6'


以下のコマンドでgemのインストール

bundle install


そして作成したアプリを起動

rails server


すると、『Yay! You’re on Rails!』と書かれたページがたちあがります。
posted by ねこまんま at 13:29
Comment(0) | Ruby

2019年02月14日

rbenvでrubyをインストール

まずはbrewをアップデート。結構時間がかかりますが我慢

brew update


次にrbenvとuby-buildのパッケージをインストール

brew install rbenv ruby-build


現在利用されているRubyのバージョンを確認。

rbenv versions


デフォルトはsystemになっています。

* system (set by /Users/xxxx/.rbenv/version)


現在利用できるRubyのバージョンを確認

rbenv install -l


無印の最新の2.6.1をインストール

rbenv install 2.6.1


インストールしたruby 2.6.1をデフォルトで利用するように変更

rbenv global 2.6.1


現在利用されているrubyのバージョンを確認

rbenv versions


systemから2.6.1に変更されたのが確認できます

 system
* 2.6.1 (set by /Users/xxxx/.rbenv/version)


rbenvにパスを通すため、.bashrcに以下を追加します。

[[ -d ~/.rbenv  ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"


設定したらターミナルを再起動するか以下のコマンドで設定内容を反映します。

exec $SHELL -l


最後に設定が反映されているか確認、rubyのバージョンを確認

ruby -v


ruby 2.6.1...と表示されればOK

ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-darwin17]


次にrubyのパスを確認

which ruby


rbenv以下に設定されていればOK

/Users/xxxx/.rbenv/shims/ruby


最後gemのパスを確認

which gem


rbenv以下に設定されていればOK

/Users/xxxx/.rbenv/shims/gem



posted by ねこまんま at 12:23
Comment(0) | Ruby

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。