Rails:新規投稿ページの作成から投稿プラグラムまで
投稿一覧と個別投稿ページをリンクさせる。
link_toの使い方
<%= link_to("テキスト", "リンク") %>
・テキスト=post.content
・リンク="posts/#{post.id}"
新規投稿ページの作成
1. 入力フォーム、投稿ボタンづくり
<textarea>と<input type="submit">
inputタグについて
...中身のデータ名と値を指定されたサーバーに指定された方法で送られる(getとかpostとか。 詳しく調べる)
2. 投稿ボタンで送信する機能を付与
・結果を受け取るアクション posts#createを作る
・ルート(post "posts/create" => posts#create)
・アクション作成
・form_tagを使って送信機能を付与
<%= form_tag("送信先URL") do %>(=がないと中身消える)
<% end %>
・投稿ボタンでposts/createに繋げ、posts#createアクション起動
・createアクションで他URLに転送
redirect_to("転送先URL")
データを保存
1. 投稿したものをcreateアクションで受け取る機能
・textareaにname属性を付与(今回引数は"content")
・createアクションにて、params[:content]で送信値を受け取って格納。
paramsは(name属性に設定した)
文字列をキーとしたハッシュになっています。とのこと。Rubyのハッシュ参照
2. データベースで保存する
def create内
・@post = Post.new(content: params[:content])
・@post.save
paramsは2通りの使い方がある
①“「: "リンク名"」を使ったルーティングのURL”から値を取得する
②”「name="データ名"」が付いたフォーム”の入力内容を受け取る
投稿データの並べ替え
・データ取得時に並び替える
・Post.all.order("項目": :asc/:desc)