неопределенный метод `id 'для nil: NilClass в рельсах - PullRequest
0 голосов
/ 05 мая 2020

Я создаю приложение Instagram из https://medium.com/luanotes/build-instagram-by-ruby-on-rails-part-2-d70b44f5c7e6.

Под этим топом c: Добавить форму для создания нового сообщения на домашней странице

Я получение этой ошибки: undefined method 'id' for nil:NilClass

мой файл представления индекса

<%= form_for Post.new do |f| %>
  <div class="form-group">
    <%= f.text_field :description %>
  </div>
  <div class="form-group">
    <%= f.file_field :image %>
  </div>
  <div class="form-group">
    <%= f.text_field :user_id,nil, value: current_user.id, class:'d-none'%>
  </div>
  <br>
  <div class="text-center">
    <%= f.submit 'Create Post', class: 'btn btn-primary' %>
  </div>
<% end %>

Файл контроллера:

class PostsController < ApplicationController
    def create
        Post.create(post_params)

        redirect_to root_path
    end

    private

    def post_params
        params.require(:post).permit(:description, :image, :user_id)
    end
end

Маршруты:

  root to: 'home#index'
  devise_for :users
  resources :users, only: [:show, :edit, :update]
  resources :posts, only: [:new, :create]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...