No_ideaのわからん日和

✏️...プログラミングが全然出来ない奴がわからんわからん言いながら様々な構文(記述方法やエラー構文など)と奮闘しながら成長していく成長記録です🐢

Ruby on Rails: form_withとストロングパラメーターの実験...chapter11-1

編集機能の実装でform_withとストロングパラメーターで苦労したので、今回は新規作成ページと編集ページの2つで以下の順番で実験していこうと思います。

(例:

①url、model、methodあり

1. permit(:title, :main)あり

1-1 create

1-1-1 不要情報なし

1-1-2 不要情報あり

1-2 update

1-2-1 不要情報なし

1-2-2 不要情報あり

2.permit(:title, :main)なし

2-1 create

2-2 update

3.require(:tweet)なし

3-1 create

3-1-1 不要情報なし

3-1-2 不要情報あり

3-2 update

3-2-1 不要情報なし

3-2-2 不要情報あり 

4.ストロングパラメーターなし

4-1 create

4-2 update

)

 

-------------------------------🧪実験内容--------------------------------------------

①url、model、methodあり

②url、modelあり

③url、methodあり

④model、methodあり

⑤urlのみ

⑥modelのみ

⑦methodのみ

⑧設定なし

 

1. permit(:title, :main)あり

1-1 create

1-1-1 不要情報なし

1-1-2 不要情報あり

1-2 update

1-2-1 不要情報なし

1-2-2 不要情報あり

2.permit(:title, :main)なし

2-1 create

2-2 update

3.require(:tweet)なし

3-1 create

3-1-1 不要情報なし

3-1-2 不要情報あり

3-2 update

3-2-1 不要情報なし

3-2-2 不要情報あり

4.ストロングパラメーターなし

4-1 create

4-2 update

---------------------------------------------------------------------------------------

 

①url、model、methodあり

 

1. permit(:title, :main)あり

params.require(:tweet).permit(:title, :main)

 

 

1-1 create

 

 1-1-1 不要情報なし

 

 

 

1-1-2 不要情報あり

 

 

1-2 update

1-2-1 不要情報なし

id=3を編集する

 

  

1-2-2 不要情報あり

id=3を編集する

 

 

 

2.permit(:title, :main)なし

params.require(:tweet)

2-1 create

 

 

 

2-2 update

id=3を編集する

 

 

3.require(:tweet)なし

params.permit(:title, :main)

3-1 create

3-1-1不要情報なし

 

 

 

3-1-2不要情報あり

 

 

 

3-2 update

3-2-1不要情報なし

id=3を編集する

 

 

 

3-2-2不要情報あり

id=3を編集する

 

 

 

4.ストロングパラメーターなし

4-1 create

def new
 @tweet = Tweet.new
end

def create
 create = Tweet.create
end

 

 

 

 

 

4-2 update

def edit
 @edit_tweet = Tweet.find(params[:id])
end
 
def update
 update_tweet = Tweet.find(params[:id])
 update = update_tweet.update
end

 

id=3を編集する

 

 

 

 

 

②url、modelあり

1. permit(:title, :main)あり

params.require(:tweet).permit(:title, :main)

 

1-1 create

1-1-1 不要情報なし

 

 

 

1-1-2 不要情報あり

 

 

1-2 update

1-2-1 不要情報なし

id=3を編集する

 

 

 

1-2-2 不要情報あり

id=3を編集する

 

 

 

2.permit(:title, :main)なし

params.require(:tweet)

2-1 create

 

 

 

1-2 update

id=3を編集する

 

 

3.require(:tweet)なし

params.permit(:title, :main)

3-1 create

3-1-1不要情報なし

 

 

 

3-1-2不要情報あり

 

 

 

3-2 update

3-2-1不要情報なし

id=3を編集する

 

 

 

 

3-2-2不要情報あり

id=3を編集する

 

 

 

4.ストロングパラメーターなし

4-1 create

def new
 @tweet = Tweet.new
end

def create
 create = Tweet.create
end

 

 

 

 

 

4-2 update

def edit
 @edit_tweet = Tweet.find(params[:id])
end
 
def update
 update_tweet = Tweet.find(params[:id])
 update = update_tweet.update
end

 

id=3を編集する

 

 

 

 

③url、methodあり

 

1. permit(:title, :main)あり

params.require(:tweet).permit(:title, :main)

 

1-1 create

1-1-1 不要情報なし

 

 

 

1-1-2 不要情報あり

 

 

1-2 update

1-2-1 不要情報なし

id=3を編集する

 

 

 

1-2-2 不要情報あり

id=3を編集する

 

 

 

2.permit(:title, :main)なし

params.require(:tweet)

2-1 create

 

 

 

1-2 update

id=3を編集する

 

 

3.require(:tweet)なし

params.permit(:title, :main)

3-1 create

3-1-1不要情報なし

 

 

 

3-1-2不要情報あり

 

 

 

3-2 update

3-2-1不要情報なし

id=3を編集する

 

 

 

 

3-2-2不要情報あり

id=3を編集する

 

 

 

4.ストロングパラメーターなし

4-1 create

def new
 @tweet = Tweet.new
end

def create
 create = Tweet.create
end

 

 

 

 

 

4-2 update

def edit
 @edit_tweet = Tweet.find(params[:id])
end
 
def update
 update_tweet = Tweet.find(params[:id])
 update = update_tweet.update
end

 

id=3を編集する

 

 

 

 

④model、methodあり

 

1. permit(:title, :main)あり

params.require(:tweet).permit(:title, :main)

 

1-1 create

 1-1-1 不要情報なし

 

 

 

1-1-2 不要情報あり

 

 

1-2 update

1-2-1 不要情報なし

id=3を編集する

編集ページに遷移した時点でエラー表示。

 

 

 

 

 

1-2-2 不要情報あり

id=3を編集する

1-2-1同様エラー表示。

 

 

 

 

2.permit(:title, :main)なし

params.require(:tweet)

2-1 create

 

 

 

2-2 update

id=3を編集する

編集画面を表示しようとしたらエラー表示。

 

 

 

 

3.require(:tweet)なし

params.permit(:title, :main)

3-1 create

3-1-1不要情報なし

 

 

 

3-1-2不要情報あり

 

 

 

3-2 update

3-2-1不要情報なし

id=3を編集する

編集ページ遷移でエラー。

 

 

 

 

3-2-2不要情報あり

id=3を編集する

編集ページでエラー

 

 

 

 

 

4.ストロングパラメーターなし

4-1 create

def new
 @tweet = Tweet.new
end

def create
 create = Tweet.create
end

 

 

 

 

 

4-2 update

def edit
 @edit_tweet = Tweet.find(params[:id])
end
 
def update
 update_tweet = Tweet.find(params[:id])
 update = update_tweet.update
end

 

id=3を編集する

編集ページでエラー。

 

 

 

 

 

⑤urlのみ

1. permit(:title, :main)あり

params.require(:tweet).permit(:title, :main)

 

1-1 create 

 1-1-1 不要情報なし

 

 

 

1-1-2 不要情報あり

 

 

1-2 update

1-2-1 不要情報なし

id=3を編集する

 

 

 

1-2-2 不要情報あり

id=3を編集する

 

 

 

2.permit(:title, :main)なし

params.require(:tweet)

2-1 create

 

 

 

2-2 update

id=3を編集する

 

 

3.require(:tweet)なし

params.permit(:title, :main)

3-1 create

3-1-1不要情報なし

 

 

 

3-1-2不要情報あり

 

 

 

3-2 update

3-2-1不要情報なし

id=3を編集する

 

 

 

3-2-2不要情報あり

id=3を編集する

 

 

 

4.ストロングパラメーターなし

4-1 create

def new
 @tweet = Tweet.new
end

def create
 create = Tweet.create
end

 

 

 

 

 

4-2 update

def edit
 @edit_tweet = Tweet.find(params[:id])
end
 
def update
 update_tweet = Tweet.find(params[:id])
 update = update_tweet.update
end

 

id=3を編集する

 

 

 

⑥modelのみ

1. permit(:title, :main)あり

params.require(:tweet).permit(:title, :main)

 

1-1 create

 1-1-1 不要情報なし

 

 

 

1-1-2 不要情報あり

 

 

1-2 update

1-2-1 不要情報なし

id=3を編集する

編集ページでエラーが発生。

 

 

 

 

1-2-2 不要情報あり

id=3を編集する

1-2-1と同様。エラー。

 

 

 

 

 

2.permit(:title, :main)なし

params.require(:tweet)

2-1 create

 

 

 

2-2 update

id=3を編集する

編集ページ遷移でエラー。

 

 

 

3.require(:tweet)なし

params.permit(:title, :main)

3-1 create

3-1-1不要情報なし

 

 

 

3-1-2不要情報あり

 

 

 

3-2 update

3-2-1不要情報なし

id=3を編集する

編集ページ遷移でエラー。

 

 

 

 

 

3-2-2不要情報あり

id=3を編集する

3-2-1同様、編集ページ遷移でエラー。

 

 

 

 

4.ストロングパラメーターなし

4-1 create

def new
 @tweet = Tweet.new
end

def create
 create = Tweet.create
end

 

 

 

 

 

4-2 update

def edit
 @edit_tweet = Tweet.find(params[:id])
end
 
def update
 update_tweet = Tweet.find(params[:id])
 update = update_tweet.update
end

 

id=3を編集する

編集ページでエラー。

 

 

 

⑦methodのみ

1. permit(:title, :main)あり

params.require(:tweet).permit(:title, :main)

 

   

1-1 create

 1-1-1 不要情報なし

 

 

 

1-1-2 不要情報あり

 

 

1-2 update

1-2-1 不要情報なし

id=3を編集する

 

 

 

1-2-2 不要情報あり

id=3を編集する

 

 

 

2.permit(:title, :main)なし

params.require(:tweet)

2-1 create

 

 

 

2-2 update

id=3を編集する

 

 

3.require(:tweet)なし

params.permit(:title, :main)

3-1 create

3-1-1不要情報なし

 

 

 

3-1-2不要情報あり

 

 

 

3-2 update

3-2-1不要情報なし

id=3を編集する

 

 

 

3-2-2不要情報あり

id=3を編集する

 

 

 

4.ストロングパラメーターなし

4-1 create

def new
 @tweet = Tweet.new
end

def create
 create = Tweet.create
end

 

 

 

 

 

4-2 update

def edit
 @edit_tweet = Tweet.find(params[:id])
end
 
def update
 update_tweet = Tweet.find(params[:id])
 update = update_tweet.update
end

 

id=3を編集する

 

 

 

 

 

⑧設定なし

 

1. permit(:title, :main)あり

params.require(:tweet).permit(:title, :main)

 

 

1-1 create

 1-1-1 不要情報なし

 

 

 

1-1-2 不要情報あり

 

 

1-2 update

1-2-1 不要情報なし

id=3を編集する

 

 

 

1-2-2 不要情報あり

id=3を編集する

 

 

 

2.permit(:title, :main)なし

params.require(:tweet)

2-1 create

 

 

 

2-2 update

id=3を編集する

 

 

3.require(:tweet)なし

params.permit(:title, :main)

3-1 create

3-1-1不要情報なし

 

 

 

3-1-2不要情報あり

 

 

 

3-2 update

3-2-1不要情報なし

id=3を編集する

 

 

 

3-2-2不要情報あり

id=3を編集する

 

 

 

4.ストロングパラメーターなし

4-1 create

def new
 @tweet = Tweet.new
end

def create
 create = Tweet.create
end

 

 

 

 

 

4-2 update

def edit
 @edit_tweet = Tweet.find(params[:id])
end
 
def update
 update_tweet = Tweet.find(params[:id])
 update = update_tweet.update
end

 

id=3を編集する

 

 

 

 

 

 

 

 

chapter11-2に続きます。

以上です。