0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PicTweetを通して学んだRailsの基礎

Posted at

PicTweetを通じて、Railsアプリケーション開発の基本を学びました。以下にその内容を簡潔にまとめます。

ルーティングとコントローラーの関係

Railsでは、ルーティングを設定することで、どのコントローラーのどのアクションを実行するかが決まります。例えば、トップページを表示するルーティングは以下のように設定します。

# config/routes.rb
root to: "tweets#index"

この設定により、TweetsControllerのindexアクションが実行されます。

ビューと部分テンプレート

ビューを再利用するためには部分テンプレートを使います。例えば、投稿一覧を表示する際に以下のように書くことで効率的な開発が可能です。

#app/views/tweets/index.html.erb
<%= render partial: "tweet", collection: @tweets %>

アソシエーションの活用

Railsでは、テーブル同士の関連付けをアソシエーションで表現します。ユーザーとツイートの関係を以下のように定義しました。

# app/models/user.rb
class User < ApplicationRecord
  has_many :tweets
end
# app/models/tweet.rb
class Tweet < ApplicationRecord
  belongs_to :user
end

これにより、ユーザーが投稿したツイートを簡単に取得できます。

ストロングパラメーター

フォームから送信されたデータを保存する際、ストロングパラメーターで許可する値を明示します。

#app/controllers/tweets_controller.rb
def tweet_params
  params.require(:tweet).permit(:title, :content)
end

エラー解決の学び

開発中に様々なエラーに直面しましたが、その中で得た重要な学びを共有します。
•Routing Error
→ ルーティングが正しく設定されていないと、指定したコントローラーが見つからずエラーになります。
•undefined method ‘each’ for nil:NilClass
→ 変数がnilになっている場合は、繰り返し処理ができません。事前に変数の定義を確認することが重要です。

おわりに

PicTweetの学習を通して、Railsの基礎がどれほど重要かを改めて感じました。基本をしっかり押さえることで、より複雑なアプリケーションの開発にも挑戦できます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?