Tayatter

タヤのつぶやき

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)