RailsRelations
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* Rails応用 [#web81f65]
複数のテーブルを関連付けて使用したアプリを作成してみる。
** アプリの作成開始 [#dcba4ede]
前回とは別の名前でアプリを作成する。
+ スタートメニューの「Ruby 3.3.8-1-x64」から「Start Comma...
+ 「c:」とだけ入力、そして、「cd \bioinfo2025」と入力し...
+ 「rails new sample_0528 -G」と入力する。(注:割と時間...
** アプリの実行 [#z59d7ad4]
+ (上記の続きなら同じウインドウで続行する。そうでない場...
+ 「cd sample_0528」と入力してそのフォルダに移動する。
+ 「rails s」と入力してRailsサーバーを立ち上げる。
+ ウェブブラウザを開いて「http://127.0.0.1:3000」と入力す...
+ Railsのアイコンの画面(https://prog-8.com/docs/rails-en...
+ 終了時は、「Start Command Prompt with Ruby」内でCtrl+C...
** より高度な書籍管理アプリを作成してみる [#d8595eb8]
+ スタートメニューの「Ruby 3.3.8-1-x64」から「Start Comma...
+ 「c:」「cd \bioinfo2025」「cd sample_0528」を順に入力し...
*** 書籍の著者のテーブルを作成 [#nd80d444]
同じ著者が複数の本を執筆することがあるので、書籍とは別に...
以下を入力する。
rails generate scaffold author name:string birthday:date...
入力後エラーが出ていないことを確認。(メッセージは表示さ...
ここで、「rails generate scaffold」はscaffoldを作成せよと...
その後に続く「author」は、Authorという名前のモデル(≒デー...
その後に続く「name:string」は、「name」という名前のカラム...
同様に、「birthday:date」は、「birthday」カラムを「date」...
string は文字列、dateは日付、booleanはtrue(真)とfalse(偽)...
その他のRailsの型一覧は、たとえば https://zenn.dev/goldsa...
その後、以下を実行。
rails db:migrate
http://127.0.0.1:3000/authors にアクセスして、著者の情報...
*** 書籍のテーブルを作成 [#q917ed90]
以下を入力
rails generate scaffold book title:string author:referen...
入力後エラーが出ていないことを確認。(メッセージは表示さ...
その後、以下を実行。
rails db:migrate
*** 書籍入力画面の改修 [#g5f1619f]
http://127.0.0.1:3000/books にアクセスして、書籍情報を入...
上記で「title:string」は、書籍のタイトルを文字列で保持す...
「author:references」は、authorを同名のモデルの参照をする...
「price:integer」は、価格を整数で保持する指示。
そして、「references」で指示したデータを入力する際は、そ...
これでは不便なので、一部ファイルを編集して、選択肢が表示...
エクスプローラで sample_0528 → app → views → books
を表示させ、_form_html.erb を右クリックして「NotePad++で...
以下の行を探す。
<div>
<%= form.label :author_id, style: "display: block" %>
<%= form.text_field :author_id %>
</div>
その行の内容を、以下のように書き換えて、保存する。(3行目...
<div>
<%= form.label :author_id, style: "display: block" %>
<%= form.collection_select :author_id, Author.all, :i...
</div>
その後、http://127.0.0.1:3000/books から new books で新規...
*** 書籍一覧画面の改修 [#y9cdc144]
http://127.0.0.1:3000/books で書籍の一覧を見ると、著者がi...
著者を著者名で表示するようにしたい。
エクスプローラで(先ほどと同じフォルダ) sample_0528 → ap...
を表示させ、_book_html.erb を右クリックして「NotePad++で...
以下の行を探す。
<p>
<strong>Author:</strong>
<%= book.author_id %>
</p>
以下のように書き換えて、保存する。(3行目のみ変更点がある)
<p>
<strong>Author:</strong>
<%= Author.find(book.author_id).name %>
</p>
http://127.0.0.1:3000/books にアクセスして確認。
*** 応用:税込価格を表示する [#f9f60f82]
上記と同じファイル _book_html.erb を、たとえば以下のよう...
書き換え前
<p>
<strong>Price:</strong>
<%= book.price %>
</p>
書き換え後(既存の行は変更無し、4行+改行を追記しただけ)
<p>
<strong>Price:</strong>
<%= book.price %>
</p>
<p>
<strong>Price with tax:</strong>
<%= (book.price * 1.1).to_i %>
</p>
税込み価格の表示が追加されたことを確認。
「(book.price * 1.1).to_i」の .to_i というのは、整数の値...
終了行:
* Rails応用 [#web81f65]
複数のテーブルを関連付けて使用したアプリを作成してみる。
** アプリの作成開始 [#dcba4ede]
前回とは別の名前でアプリを作成する。
+ スタートメニューの「Ruby 3.3.8-1-x64」から「Start Comma...
+ 「c:」とだけ入力、そして、「cd \bioinfo2025」と入力し...
+ 「rails new sample_0528 -G」と入力する。(注:割と時間...
** アプリの実行 [#z59d7ad4]
+ (上記の続きなら同じウインドウで続行する。そうでない場...
+ 「cd sample_0528」と入力してそのフォルダに移動する。
+ 「rails s」と入力してRailsサーバーを立ち上げる。
+ ウェブブラウザを開いて「http://127.0.0.1:3000」と入力す...
+ Railsのアイコンの画面(https://prog-8.com/docs/rails-en...
+ 終了時は、「Start Command Prompt with Ruby」内でCtrl+C...
** より高度な書籍管理アプリを作成してみる [#d8595eb8]
+ スタートメニューの「Ruby 3.3.8-1-x64」から「Start Comma...
+ 「c:」「cd \bioinfo2025」「cd sample_0528」を順に入力し...
*** 書籍の著者のテーブルを作成 [#nd80d444]
同じ著者が複数の本を執筆することがあるので、書籍とは別に...
以下を入力する。
rails generate scaffold author name:string birthday:date...
入力後エラーが出ていないことを確認。(メッセージは表示さ...
ここで、「rails generate scaffold」はscaffoldを作成せよと...
その後に続く「author」は、Authorという名前のモデル(≒デー...
その後に続く「name:string」は、「name」という名前のカラム...
同様に、「birthday:date」は、「birthday」カラムを「date」...
string は文字列、dateは日付、booleanはtrue(真)とfalse(偽)...
その他のRailsの型一覧は、たとえば https://zenn.dev/goldsa...
その後、以下を実行。
rails db:migrate
http://127.0.0.1:3000/authors にアクセスして、著者の情報...
*** 書籍のテーブルを作成 [#q917ed90]
以下を入力
rails generate scaffold book title:string author:referen...
入力後エラーが出ていないことを確認。(メッセージは表示さ...
その後、以下を実行。
rails db:migrate
*** 書籍入力画面の改修 [#g5f1619f]
http://127.0.0.1:3000/books にアクセスして、書籍情報を入...
上記で「title:string」は、書籍のタイトルを文字列で保持す...
「author:references」は、authorを同名のモデルの参照をする...
「price:integer」は、価格を整数で保持する指示。
そして、「references」で指示したデータを入力する際は、そ...
これでは不便なので、一部ファイルを編集して、選択肢が表示...
エクスプローラで sample_0528 → app → views → books
を表示させ、_form_html.erb を右クリックして「NotePad++で...
以下の行を探す。
<div>
<%= form.label :author_id, style: "display: block" %>
<%= form.text_field :author_id %>
</div>
その行の内容を、以下のように書き換えて、保存する。(3行目...
<div>
<%= form.label :author_id, style: "display: block" %>
<%= form.collection_select :author_id, Author.all, :i...
</div>
その後、http://127.0.0.1:3000/books から new books で新規...
*** 書籍一覧画面の改修 [#y9cdc144]
http://127.0.0.1:3000/books で書籍の一覧を見ると、著者がi...
著者を著者名で表示するようにしたい。
エクスプローラで(先ほどと同じフォルダ) sample_0528 → ap...
を表示させ、_book_html.erb を右クリックして「NotePad++で...
以下の行を探す。
<p>
<strong>Author:</strong>
<%= book.author_id %>
</p>
以下のように書き換えて、保存する。(3行目のみ変更点がある)
<p>
<strong>Author:</strong>
<%= Author.find(book.author_id).name %>
</p>
http://127.0.0.1:3000/books にアクセスして確認。
*** 応用:税込価格を表示する [#f9f60f82]
上記と同じファイル _book_html.erb を、たとえば以下のよう...
書き換え前
<p>
<strong>Price:</strong>
<%= book.price %>
</p>
書き換え後(既存の行は変更無し、4行+改行を追記しただけ)
<p>
<strong>Price:</strong>
<%= book.price %>
</p>
<p>
<strong>Price with tax:</strong>
<%= (book.price * 1.1).to_i %>
</p>
税込み価格の表示が追加されたことを確認。
「(book.price * 1.1).to_i」の .to_i というのは、整数の値...
ページ名: