前提・実現したいこと
Ruby on Railsの勉強をかねて、チュートリアルのツイッタークローンを元に、自分一人用のマイクロポストアプリを作ろうとしています。
新規ポストのフォーム画面でエラーが発生しています。
ツリー機能を実装しようとしており、そちらはポストのidとは別でツリー毎のidを割り振って実装しようとしています。
フォームで入力させるのは中身と添付画像だけにしようとしていますが、そこで躓いています。
また、下記のコードでは、まだ画像添付のフォームは付けないでおいています。
発生している問題・エラーメッセージ
NoMethodError in Posts#new undefined method `label' for nil:NilClass
該当のソースコード
new.html.erb
<%= form_tag(@post) do |f| %> <%= f.label :content, "コンテンツ" %><br> <%= f.text_field :content %> <%= f.submit "POST"%> <% end %>
post_contloller の newメソッド
userとpostで関連付けは行いました。
def new #@latest_tree_id_plusoneの周りはあまりにコードが芋くさいので省略させてください。ちゃんと数値になってはいます。 @post = @current_user.posts.build( content: [:params], image: [:params] , tree_id: @latest_tree_id_plusone , tree_number: 1 )
試したこと
・試しにフォームをなくして、<%= @post.id %>などをいれてみた所、それは表示されましたので、オブジェクトが生成されていないわけではないと思います。
・renderでフォームを生成した所、content部分が入力済みであってもバリデーションに空白と弾かれました。
一度バリデーションを解除して強引に送信してみたら、入力済みに見えていたuser_idなどもすべてnilのデータが登録されていました。
補足情報(FW/ツールのバージョンなど)
開発環境はAmazonのcloud9です。
Rails 5.0
Ruby 2.6.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。