Ruby on Rails 자습서(버전 4) 2장

4669 단어 Rails
$ heroku create에는 bash:heroku:command not found가 나타나 1장을 보면서 heroku를 설치한다.

2.2.1 훈련


1. CSS에 대해 잘 아는 사람에게 주기: 새 사용자를 만들고 브라우저의 HTML 인덱스 기능인 "User was successfully cread"를 사용합니다.의 장소.브라우저를 다시 불러오면 그곳은 어떻게 될까요?
  <p id="notice">User was successfully created.</p>무거운 짐은 사라지고<p id="notice"></p>2. 이메일을 입력하지 않고 이름만 입력하면 어떻게 될까?
이메일 입력 없이도 사용자 등록이 가능합니다.
3. "@example.com"이라는 잘못된 메일 주소를 입력하고 업데이트하면 어떻게 되나요?
잘못된 메일주소를 입력해도 업데이트할 수 있습니다.
4. 상기 훈련에서 제작된 사용자를 삭제해 보세요.사용자를 삭제할 때 Rails에는 어떤 정보가 표시됩니까?
  User was successfully destroyed.

2.2.2 훈련


1. 그림 2.11을 참고하여/users/1/edit URL에 접근할 때의 행동도를 쓰십시오.

2. 그림의 동작을 관찰하면서 Scaffold에서 생성된 코드에서 데이터베이스에서 사용자 정보를 얻는 코드를 찾으십시오.
    def set_user
      @user = User.find(params[:id])
    end
3. 사용자 정보 페이지를 편집하는 파일 이름은 무엇입니까?
  app/views/users/edit.html.erb

2.3.1 훈련


1. CSS에 대해 알고 있는 독자에게: 새로운 메일박스를 만들고 브라우저의 HTML 인덱스 기능인 "Micropost was successfully cread"를 사용합니다.의 장소.브라우저를 다시 불러오면 그곳은 어떻게 될까요?
  <p id="notice">Micropost was successfully created.</p>무거운 짐은 사라지고<p id="notice"></p>2. 위챗 제작 화면에 콘텐츠와 User를 모두 비워두면 어떨까?
Conntent, User를 비워 둘 수도 있습니다.
3.141 Conntent에서 문자 이상의 문자열을 입력한 상태에서 위챗을 만들어 보면 어떨까?(힌트: 위키백과 루비 글의 첫 단락이 딱 150자 정도인데 어때요?
141자 이상도 만들 수 있습니다.
4. 상기 연습에서 만든 마이크로 메일박스를 삭제해 보세요.
삭제만

2.32 훈련


1.아까 2.3.1.1 연습했던 것처럼 콘텐츠에 141자 이상 입력하세요.행동거지에 어떤 변화가 있습니까?
오류가 발생했습니다.
1 error prohibited this micropost from being saved:
Content is too long (maximum is 140 characters)
2. CSS를 아는 사람에게 주기: 브라우저의 HTML 색인 기능을 사용하여 잘못된 정보를 조사하십시오.
<div id="error_explanation">
 <h2>1 error prohibited this micropost from being saved:</h2>
 <ul>
   <li>Content is too long (maximum is 140 characters)</li>
 </ul>
</div>

2.3 연습


1. 사용자의 쇼 페이지를 편집하고 사용자의 최초 메일박스를 표시합니다.이 파일 안의 다른 코드에서 문법을 추측해 보십시오. (이것은 칼럼 1.1에서 소개한 기술의 등장입니다.)잘 보이는지/users/1을 방문하여 확인하십시오.
app/views/users/show.html.erb
<p>
  <strong>Micropost:</strong>
  <%= @user.microposts.first.content %>
</p>
2. 목록 2.16은 위챗의 Conntent가 존재하는지 확인하는 검증입니다.마이크로통이 비어 있는지 없는지는 실제로 시험해 보세요(그림2.16 참조).
오류가 발생했습니다.
1 error prohibited this micropost from being saved:
Content can't be blank
3. 목록 2.17 FILLIN 섹션을 수정하여 User 모델의 name과 이메일이 있는지 확인하십시오(그림 2.17).
app/models/user.rb
class User < ApplicationRecord
  has_many :microposts
  validates :name, presence: true
  validates :email, presence: true
end

2.4 훈련


1. Application 컨트롤러 파일을 엽니다. Application Controller Action Controller: Base 섹션을 계승하는 코드를 찾아보십시오.
app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
2. Application Record 계승 Active Record:Base의 코드는 어디에 있습니까?아까 연습 참고해서 찾아보세요.알림: 컨트롤러의 구조와 본질적으로 같기 때문에 app/models 디렉터리에 있는 파일을 찾아보십시오
app/models/application_record.rb
class ApplicationRecord < ActiveRecord::Base

2.35 연습


생략하다

메모지


validates 등의 설정은 app/models에서 진행됩니다.
공식 환경의 데이터베이스 마이그레이션이 필요합니다.
$ heroku run rails db:migrate

좋은 웹페이지 즐겨찾기