初心者がいろいろ寄り道をしながら最終的にwebアプリ開発を目指す

何もわからない初心者がwebアプリをつくるまでの日記

10日目 solidus

凄く眠いけど、少しだけ。

何作ろうかって考えたときに通販サイト作れたら、通販したい人に提供できるねってことで、通販サイト作ってみよう!

 

railsにはECサイト(通販サイト)を作るときに便利なsolidusというフレームワーク?があるらしい。solidusはSpreeっていうやつの後継らしく、もしsolidusで悩んで検索しても解決できなかったらspreeで検索すれば解決の糸口をつかめるんだって。

 

というわけで、solidusを導入。まずはrailsプロジェクトを新規作成。Gemfileにsolidusとsolidus_auth_deviseを追加。bundle installをして$ bundle exec rails g spree:install

エラー

でいろいろ調べてgem install solidusしたらいけるっぽい?

で、改めてbundle updateして spree:install と rake db:migrateをしてみる。

こんどはsolidus_auth_deviseがないってなるので、これもgemコマンドでinstall

よし、bundle updateして

 

Bundler could not find compatible versions for gem "rails":
In Gemfile:
rails (~> 5.1.1) x86-mingw32

solidus x86-mingw32 was resolved to 1.0.0, which depends on
solidus_core (= 1.0.0) x86-mingw32 was resolved to 1.0.0, which depends on
rails (~> 4.2.0) x86-mingw32

 

ってでた。

これはrailsは4.2.0以下じゃないとだめってこと?

ってことでgemfileのrailsのとこを4.2.0にしてもう一回bundle update

bundle updateは成功したけど spree:installがうまくいかなーい。

てか俺が見たブログではspree:installってなってたけど、solidus:installじゃだめなのかな?

c:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.8/lib/rails/ra
iltie/configuration.rb:95:in `method_missing': undefined method `load_defaults'
for #<Rails::Application::Configuration:0x715b018> (NoMethodError)
from C:/Users/buchi/Documents/Aptana Studio 3 Workspace/myshop/config/ap
plication.rb:12:in `<class:Application>'
from C:/Users/buchi/Documents/Aptana Studio 3 Workspace/myshop/config/ap
plication.rb:10:in `<module:Myshop>'
from C:/Users/buchi/Documents/Aptana Studio 3 Workspace/myshop/config/ap
plication.rb:9:in `<top (required)>'
from c:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.8
/lib/rails/commands/commands_tasks.rb:141:in `require'
from c:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.8
/lib/rails/commands/commands_tasks.rb:141:in `require_application_and_environmen
t!'
from c:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.8
/lib/rails/commands/commands_tasks.rb:128:in `generate_or_destroy'
from c:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.8
/lib/rails/commands/commands_tasks.rb:50:in `generate'
from c:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.8
/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from c:/RailsInstaller/Ruby2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.8
/lib/rails/commands.rb:17:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'

ってでる。

これもしかしたらrails gができないんじゃね?って思ってrails gしてみたら案の定そうだったからrails g できないで検索をかける。これrailsのバージョン下げたからできないのかな?でも戻したらbundle updateできないし。

おんなじところではまってるひともいるし、また明日にしよう。

 

って思ってもう少し粘ってみたら、なるほど、rails4.2.0をinstallしないといけないのか。これでいけそう。むりだった。

gemfile.lockを確認するとrails が4.2.8になってる。

~>4.2.0ってのは4.2.xの最新版ってこと?

とりあえずrails 4.2.8をinstallしてみる。

rails -vはうごくようになった。

が、やはりrails gは動かん。

なにが悪いのかを探すためにとりあえず新しくrailsプロジェクトを作成して、gemfileのrailsを4.2.0にしてbundle update

そしてrails s

おんなじエラー文。なるほど。ここら辺だ。

9日目

とりあえずProgateのror編part2とHTMLpart2終了、順調に進んでる気がする。

 

今でさえペース遅いのに、明日から忙しくなるからなあ、それでもやっぱり毎日最低30分は時間とって勉強しないとな。

 

9日目、本を読むのは飽きてきたし、なんとなく作れそうな気がしてきたので、webサイトを作りながらわからないところは調べるって方向にシフトして、でも知らないことは考えることすらできないだろうから、本でも知識を増やしつつって感じにしようかな。

とりあえずメインはサイト作り。

 

ってわけでさっそくトップページを作っていってるけど、まず背景がわからん。

本には画像表示には画像をassetsフォルダにおいてimage_tagを使えばよいって書いてるし、Progateにはpublicフォルダにおいてimgタグで表示させればいいって書いてるし。

とりあえずimage_tagでやってみたけど、html内にそのままコード書いたら画像サイズそのままで表示されて、上下には余白、左右は大きすぎってなっちゃってる。

背景はおそらくcssで書いてやったほうがよさそうだけど、background-imgでimage_tagを使う方法がわからないから、とりあえずpublicフォルダに画像を置いてbackground-imgで背景を表示させてみる、、、

できた!がしかし、適当なところでトリミングされている。

しかもブラウザを小さくすれば画像サイズはそのままで左上を基点にトリミングされている。自動で縮小してはくれないだろうか。でもよくよく考えると自動で縮小すれば、ブラウザのアス比がそのままだったときはよいが、そうじゃないときはいびつな形になるのではないか?と思って参考にwebサイトのトップページを閲覧しにいく。

ふむふむ、画像サイズはそのままでスクロールさせられるようにしているのだな。

なんかめんどくさいのでとりあえず後回しにしよう。

とりあえずトップはクリックでサイトに入場できるような仕様にしよう。

アニメーションもつけたいな。とりあえず、いろんなサイトみて参考にすることも大事だな。

8日目

ProgateのJavaRubyの無料でできる範囲のレッスン終わった!余裕だった。

ドットインストールのHTML入門も終わった。着々と成長してる(気がしてるだけ)

あとProgateのRoRもちょっとずつやってる。本読みながらやってるとことか出てこれわかる!ってなるから楽しい。

あんまり本よんでやってて出来てる実感ないけど、ちょっとずつしっかり吸収していってる。

本とか、ドットインストールとかでとりあえず全部わからんでもいいから進めていって、Progateで問題やってみて出来たら吸収していってるってわかるから、モチベーション維持にもつながると思うし、よいと思うよ。

やらなきゃなにも始まらないけど、毎日少しずつでもやっていけば、気付きにくいかもしれないけどしっかりと自分の力になってるはずだから、躓いても、転んでも、しんどくても少しずつ前に進むことが大事。

 

RoRは数値・文字関連のビューヘルパーが終わって次は、リンク関連のビューヘルパー。

ビューヘルパーはいわばメソッドみたなもの。今のところほとんどメソッドの紹介みたいな感じで、RoRの概念を勉強するようなところじゃないからさっと流しみ。こんなビューヘルパーがあるんだなってなんとなく覚えて、実践で使えそうなビューヘルパーを思い出しながら調べるってのがよいと思うんだけど、どうかな。

飽きてきた、そろそろなにか作りながら勉強しようかな、

 

 あと、俺がよいなって思った勉強の仕方は、本を読みながらわからないところは公式のRailsガイドで理解を深めることかな。Railsガイドをなるほどって思いながら読めるようになってると確実に力になってる気がする。

初心者なりの悩みとか

導入時の躓きとか、文法の躓きとか、理解し難い概念だとか、便利な機能やソフトの気付きとか、そういう上級者がすんなりこなしたり当たり前に使ってたりするものって結局初心者にしかわからない悩みだろうから、初心者のうちからどこで躓いたとかどうやって切り抜けたとかどう理解したとかをどんどんアウトプットして初心者同士で助け合ったほうが良いのだろうか。

 

備忘録(railsルーティン)



クライアントがサーバーにリクエストを送ったら、サーバーは受け取ったurlをroutes.rbを参照する。

get/post

 'url_pattern' to: 'controller_name#action_name'

url_patternがcontroller_name/action_nameの場合、to:〜を省略。つまり、

get/post 'controller_name/action_name'


一致するurl_patternからname_controller.rbのアクションメソッドとcontroller_name/action_name.html.erbを呼び出して動的にページを生成

7日目

7日目

 

sqliteの勉強、まあ大体なんとなく把握したから、あとは必要なときに調べながらやればいいかなって感じ。

progate楽しい、ターミナルとgitと終わらして、javaもちょっとやってhtmlもちょっとやって、全然railsできてない。

だけど、毎日続けること、30分でもすることが大事だと思ってるから、やっていきましょー。

第4章、最初のほうはRoRの仕組みを理解するために紹介されるフォーム作成メソッドを読んでたけど、まあメソッドは作りながら調べればいっかってことでざっくりと呼んで飛ばした。とういわけで長かったform関連のビューヘルパーが終わって次から文字列・数値関連のビューヘルパー。

またビューヘルパーかよ。こっちのほうがすんなり頭に入ってくる。formやる前に文字列・数値関連のビューヘルパーやったほうがとっかかりやすいわ。

 

6日目 HTMLとSQLite3と

6日目

 

なんかRoRばっかりも飽きるからSQLite3とHTML&CSSとを勉強し始めた。

ドットインストールとprogateを使ってる。

 

そしてRoRへ、第4章基本編

ビューヘルパーで書くformの使い方について学ぶ。

htmlで書くと冗長になる文もビューヘルパーのおかげで短くかけるね。

サンプルコードはフォームからセレクトするだけで保存も新規作成もできないコードだったけど、前のページとかネットとかで調べてdbに新たにレコードを作ったり、既存のレコードを更新させれたときは感動!

自力でdbの更新を実装できたから今日は満足だな