link_to
link_to 表示文字列, リンク先
という形で記述します。
リンク先 として message
のように Model のインスタンス(レコード)を渡すと、
自動的にそのインスタンスの show アクションへとリンクされるようになります。
省略せずに書くと message_path(message)
となり、
リンク先 にこう記述しても正常に動作します。
message
も message_path(message)
もどちらも最終的に
/messages/1
など /messages/:id
の形の URL を生成しているだけです。
redirect_to
redirect_to @message
は、
処理を messages#show
のアクションへと強制的に移動させるもので、
create アクション実行後に更に show アクションが実行され、
show.html.erb
が呼ばれます。
render
render :new は、単に messages/new.html.erb を表示するだけです。
(messages#newのアクションは実行しない)。
render :userであれば、user/_user.html.erbを表示させるだけ。