시작 Ruby on Rails 메모

시작 Ruby on Rails 메모


이 보도는 아직 완성되지 않았지만 이미 공개되었다.
공부가 발전함에 따라 나는 계속 본문을 쓸 것이다.

나는 나의 Rails 비망록을 위해


어느 날 제가 SNS를 직접 만들고 싶은 충동에 사로잡혔어요.
무심결에 유행하는 Rails를 듣고 손에 넣으려고 했어요.
하지만 노련한 제게 레일스 튜토리얼은 난이도가 높습니다.
먼저 입문자들에게 부드러운 프로그레트의 보살핌을 받고 싶다.
이것은 나의 성과와 학습 기록이다.

추진 방법·목적


기본적으로 Prograte 유료 계획의 학습 자료에 따라 진행한다
2주 후부터 Rails 자습서의 절차를 상상해 보세요.
특별한 기한감이 없기 때문에 질질 끌며 진행될 것이다.
나는 성과물을 어떻게 돈으로 바꿀지 전혀 고려하지 않았다.
순수한 목적은 Rails 자습서를 완성하는 것이다.

본문의 목표


본문의 목표는 나 같은 프로그래밍은 전혀 없다는 것이다
컴퓨터는 약간 접촉한 나를 향한 것이다.
필자는 인터넷 인프라 엔지니어의 학습만 한다(2018년도 CCNA 취득 정도).
이 졸문에서 배울 수 있는 것은 프로그레트로 완전히 망라할 수 있기 때문에 프로그레트의 비용을 성실하게 받으면 시간 효율이 더 좋고 손도 움직일 수 있어 무엇보다 중요하다.

Ruby on Rails 소개


Rails의 기본 이념은 "같은 일을 반복하지 않는다"입니다.


Rubby on Rails는 오픈 소스의 웹 응용 프레임워크입니다.RoR 또는 Rails라고 합니다.이름에서 보듯이 루비로 썼어요.또한 MVC(Model View Controller) 아키텍처를 기반으로 구축되었습니다.
실제 응용을 고려한 개발은 다른 프레임워크보다 적은 코드로 간단하게 개발할 수 있도록 설계되었다.Rails의 공식 포장은 Ruby 라이브러리와 애플리케이션의 유통 채널인 Ruby Gems에서 배포합니다.참조 소스wiki
나는 같은 일을 하고 싶지 않다. 가벼워지면 가장 좋다
학습을 통해 짧은 문장으로 쉽게 실현할 수 있겠지
나는 대단한 엔지니어와는 거리가 먼 존재이기 때문에 보조 범위 내에서 실현할 수 있어서 매우 기쁘다
또 일본인들에게 인기가 많아 일본어 2차 소스를 많이 볼 수 있다는 점이 높은 평가를 받으며 굿을 밀었다.

Rails는 MVC 아키텍처 프레임워크입니다.


모형/시도/컨트롤러는 이니셜을 MVC 구조로 하고 응용 프로그램을 모형(데이터 처리 부분), 보기(사용자가 볼 수 있는 결과를 만드는 부분), 컨트롤러(사용자의 요구를 처리하고 모형과 보기와 연합)로 분할한다.
인용원
MVC 아키텍처 기반 설계
Rails 애플리케이션이라면 누가 건드려도 어디에 뭐가 설치돼 있는지 쉽게 알 수 있다는 점이 좋다고 생각한다.
터미널 내 말 한마디로 기초 부분을 만들 수 있기 때문에 간단하다.
routes.rb 요청한 다음 동작의 부분을 결정합니다
라우터가 라우팅 테이블에서 다음 홉을 결정하는 것과 비슷한 지점에서 약간 친근감을 느낀다.

기본 응용 프로그램 생성 방법


개발의 시작


터미널에서 다음 명령을 실행합니다rails new <アプリケーション名>상기 명령을 실행하면 입력한 응용 프로그램 이름과 같은 이름의 폴더를 생성합니다.
이렇게 생성된 파일 그룹에서는 기본적으로 작업이 수행됩니다.
Rails 6.0.0_항목 3.2 ~ 폴더 구조 설명
더 깨물어버린 녀석

서버 시작


터미널에서 다음 명령을 실행합니다rails server서버를 시작하면 브라우저에서 "localhost:3000"이라는 URL에 액세스하면 초기 화면이 표시됩니다.(Prograte 본문 참조)

top 페이지 만들기


터미널에서 다음 명령을 실행합니다rails generate controller <コントローラー名> <アクション名>(으)로 생략할 수 있습니다.
views 폴더 아래에 "< 컨트롤러 이름 >/< 동작 이름 >.erb"을 생성합니다.
이 "<액션 이름>.].erb"는 첫 페이지의 GAWA입니다.
외관을 바꾸려면 여기를 만지작거리고 관련 CSS를 만지작거릴 필요가 있다.
그 다음에 새 페이지(view)를 추가하고 싶은 경우
・추가 라우팅(/config/routes.rb)
/컨트롤러 (/app/< 컨트롤러 이름 > controller.rb) 보충
• 보기(/views/<작업 이름>.erb) 새로 만들기
필요했어

컨트롤러 만들기


터미널에서 아래 명령을 실시한다(전항과 같은 명령)rails g controller'app/controllers/<컨트롤러 이름>controller.rb'의 컨트롤러 파일이 제작되었습니다.
여기서 파일에는 <작업 이름> 메서드가 추가되었습니다.
컨트롤러 안의 방법을 '동작' 이라고 부른다.
같은 이름의 컨트롤러를 만들려고 해도 실패합니다.
컨트롤러 내의 동작은views 폴더에서 브라우저로 돌아가는 보기를 찾아냅니다.구체적으로, 동작은 컨트롤러와 같은 이름의 보기 폴더에서 동작과 같은 이름의 HTML 파일을 찾고 브라우저로 돌아가는 것입니다.(Prograte 본문 참조)

라우팅 정보


라우팅은 브라우저와 컨트롤러를 연결하는 역할을 합니다.
브라우저에서 요청을 보내면 라우팅-컨트롤러-뷰 순서로 처리됩니다.
설정은 config/routes.rb에 설명되어 있습니다.
다음 형식은 도문에서rails generate controller <コントローラー名> <アクション名>routes.rb에 기술되지 않은 페이지로 옮길 수 없기 때문에
페이지를 새로 만들 때는 여기에 보충해야 한다.

SCSS의 편집(페이지 디자인)


SCSS 파일은 app/assets/stylesheets 에 저장됩니다.
SCSS get "URL" => "<コントローラ名>#<アクション名>"위 명령을 사용하는 경우
"app/assets/stylesheets/< 컨트롤러 이름 >.scss"의 형식으로 생성됩니다.
Rails의 [stylesheets] 폴더에 저장된 CSS 파일
코드를 입력하면 모든 뷰에 CSS가 적용됩니다.(Prograte 본문 참조)

이미지 표시


(/public) 에 그림을 배치하기
그림 이름만 지정하면 프로그램에서 호출할 수 있습니다.
그림 이름 앞에 "/(사선)"을 잘 붙여라.rails generate controller <コントローラー名> <アクション名> background-image: url("/画像名");

기본 페이지 변경(URL 변경)


"localhost:3000"액세스 후
「Yay! You're on Rails!」의 페이지가 표시됩니다.
"config/routes.rb"내의 기술로 변경합니다.<img src="/画像名" >

view 파일의 Ruby 코드 설명


erb 형식의 파일get "/" => "コントローラ名#アクション名"로 둘러싸면 Ruby 코드를 HTML 파일에 기술할 수 있습니다.
출력할 때<% %>에 기술합니다.
'erb'는'Embeded Ruby'의 약자이다.

each 표시 사용


① 각 변수를 한 줄로 묶는다
<%= %>로 배열된 내용을 하나씩 꺼내기
뷰 파일에서
<% <変数> = [<要素1>,<要素2>] %>
#変数に配列を入れる

<%
   <変数>.each do |<格納先変数>|
%>
#each doで配列の要素の数だけ繰り返し処理

<%= <格納先変数> %>
#格納先変数に入っている配列の要素を表示
#<%=%>でページ上に表示

<% end %>
Rails에서는 일반적으로 뷰가 아닌 동작으로 정의됩니다.
다음은 컨트롤러의 동작에서 변수를 정의합니다.

동작의 변수 정의


Rails에서는 일반적으로 동작에 변수를 정의합니다.
컨트롤러 파일 내

 def index
  @<変数> = [
  "testてすとテスト",
  "テストてすとtest"
  ]
  
  #変数名を@から始めることで、ビューファイルからでも呼び出せるようになる。
  #ビュー用の変数は@を頭につけることを意識する。
  
 end

데이터베이스 만들기


개시하다


마이그레이션 파일로 불리는 데이터베이스를 나타내는 파일을 만듭니다.
예를 들어posts표를 만드는 이전 파일은 다음과 같은 명령으로 만들 수 있다.
터미널에서
$ rails g model Post content:text

#作成するテーブル名が複数形なのに対して、マイグレーションファイルは単数形にする。
#コマンド後列のカラム名:データ型部分で、どういったデータが入るのかをきめる。

위 명령을 실행할 때each 文 폴더 아래에 마이그레이션 파일을 만듭니다.

데이터베이스 수정 사항 반영


다음 명령을 실행하면 이전 파일에 기술된 내용에 따라 반영표를 만들 수 있습니다.
Rails에서 반영되지 않은 마이그레이션 파일이 있으면 페이지에 액세스할 때 마이그레이션 오류가 발생합니다.
마이그레이션 파일을 만든 후에는 다음 명령을 실행해야 합니다.
마이그레이션 파일을 만들 때 지정한 열을 생성합니다. 데이터 형식을 제외한 기본적으로 자동으로 db/migrate 3개의 열을 생성합니다.
터미널에서

$ rails db:migrate

모델 확인


Rails에서 말하는 모델은 작업 테이블의 특수 클래스입니다.
데이터베이스 생성을 시작할 때 마이그레이션 파일 생성 명령이 실행될 때 id,create_at,update_at 폴더 아래에 생성됩니다.
Application Record 등급을 상속받은 클래스를 모델이라고 합니다.
터미널에서

$ rails g model Post content:text
#これの実行時にApplicationRecordクラスを継承するPostクラスが定義されたファイルが#生成される。


환경 구축 중 넘어진 곳


source.리스트에 기본 설정에서 일본에서 가까운 거울로 날아가는 설정이 있어요.


https://qiita.com/kujiraza/items/c02908e0aed1001b2470

없는 놈을 쫓아 들어간다↓


https://qiita.com/kakukakupori/items/c02b7f51a2b316cc67e3

Webpacker로 쓸 수 있는 게 없다고 해서 설치했어요


rails webpacker:install

bundle install 실패


Gemfile의 permisson은 1000을 755로 변경합니다.
---------- 1 user user 1974 10月 21 16:21 Gemfile

다음 명령 실행app/models

다음 bundle 업데이트 불통


user@@@@@:~/enviroment/hello_app$ bundle update
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Fetching source index from https://rubygems.org/

Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/

Retrying fetcher due to error (3/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/

Retrying fetcher due to error (4/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/

좋은 웹페이지 즐겨찾기