Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ruiokazaki-archive/hello-rails
インターンで使うっぽいのでCRUDでも作ってみる
https://github.com/ruiokazaki-archive/hello-rails
Last synced: 3 days ago
JSON representation
インターンで使うっぽいのでCRUDでも作ってみる
- Host: GitHub
- URL: https://github.com/ruiokazaki-archive/hello-rails
- Owner: ruiokazaki-archive
- Created: 2022-02-15T12:37:27.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-02-15T15:40:13.000Z (over 2 years ago)
- Last Synced: 2024-02-02T02:50:30.824Z (9 months ago)
- Language: Ruby
- Homepage:
- Size: 43 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# rails
## rails command
### make Controller
```
rails generate controller {Hoge} index --skip-routes
```### make Model
```
rails generate model {Hoge} カラム名:データ型 カラム名:データ型
```### migrate
```
rails db:migrate
```### open console
```
rails console
```## rails console
### insert するまでの流れ
```
article = Article.new(title: "Hello Rails", body: "I am on Rails!")
article.save
```### 1 件取得
```
Article.find(1)
```### 全件取得
```
Article.all
```## controller
### インスタンス変数を作成
```
@articles = Article.all
```### パラメーターの値を取得
`params[:id]`で取得できる
```
@article = Article.find(params[:id])
```### レコードを追加する方法
new でインスタンスを作成し、save で保存する
```
def new
@book = Book.new(title: "羅生門", author:"芥川龍之介")
@book.save
end
```create メソッドを使う
```
def create
Book.create(title: "羅生門", author:"芥川龍之介")
end
```### fillable の設定
```
private
def article_params
params.require(:article).permit(:カラム名, :カラム名)
end
```## model
### バリデーションの設定
presence は null を許容しない
[Document](https://railsguides.jp/active_record_validations.html)```
validates :title, presence: true
validates :body, presence: true, length: { minimum: 10 }
```## view
`<% %>`の中で処理を書くことができる。
`<%= %>` は中で return があったものを print してくれる
### foreach
```
<% @hoges.each do |hoge| %>
<%= hoge.title %>
<% end %>
```
### link の作成方法 3 種
通常のルーティング方法
```
<%= article.title %>
```
apiResouce でルーティングすると、model のデータを遡れる
```
<%= article.title %>
```
link_to テキスト群, model 単一データ で a タグが返される
```
<%= link_to article.title, article %>
```
## routes
### ルーティングの方法
```
get "/articles", to: "articles#index"
get "/articles/:id", to: "articles#show"
```
### apiRresource
```
root "articles#index"
resources :articles
```