はじめまして、railsの開始してまもなく1ヶ月が経とうとしいます!
teratailの回答者さまにはいつもお世話になっています。
今回はrailsの変数の扱いについて質問です。
実装したいこと
2ch風の掲示板を作っています。
スレ(post)ページで
・タイトル
・レス(comment)投稿フォーム
・レス(comment)一覧
という順番で表示したい。
問題
当初は以下の順番で当初実装していたのですが、昨日上記の順番で実装したく
該当html.erbのrender部分の順番を入れ替えたのですが、エラーが表示されました。
・タイトル
・レス一覧
・レス投稿フォーム
最終目標
「実装したいこと」で表示した順番に表示する。
変数、コントローラーをまたいだ実装について理解を深める。
該当コード
以下該当部分と思われるコードです。
▶︎postsファイルのshow.html.erb
<!-- コメント表示 --> <%= render @post.comments %> <!-- コメント表示終了 --> <!-- コメント投稿欄 --> コメントを追加 <%= render "comments/form" %> <!--コメント投稿欄終了 -->
▶︎post_controller.rb
def show @post = Post.find(params[:id]) @category = @post.category #今回の質問では関係ないです end
▶︎commentsファイルの_comment.html.erb
<p> <strong>名前:</strong><%= comment.commenter %> <%= comment.created_at.strftime("%y/%m/%d(#{%w(日 月 火 水 木 金 土)[comment.created_at.wday]}) %H:%M:%S") %> <strong><%= simple_format comment.body %></strong> </p>
▶︎postsファイルのshow.html.erbのコメント投稿フォームとコメント一覧renderコードを入れ替えれた時に表示されるエラー
NoMethodError in Posts#show Showing ..app/views/comments/_comment.html.erb where line #2 raised: #以下の二行目が該当エラー部分と表示される <p> <strong>名前:</strong><%= comment.commenter %> <%= comment.created_at.strftime("%y/%m/%d(#{%w(日 月 火 水 木 金 土)[comment.created_at.wday]}) %H:%M:%S") %> ID: <%= highlight(Digest::MD5.hexdigest("request.remote_ip.to_s + #{comment.created_at.strftime("%Y%m%d")} + #{@post.id}")[0,8], Digest::MD5.hexdigest("request.remote_ip.to_s + #{@post.created_at.strftime("%Y%m%d")} + #{@post.id}")[0,8]) %> <strong><%= simple_format comment.body %></strong> </p>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。