Я борюсь с этой ошибкой, вот мой код контроллера
class PortfoliosController < ApplicationController
before_action :set_portfolio, only: [:show, :edit, :update, :destroy]
before_action :authenticate_user!, except: [:index]
# GET /portfolios
# GET /portfolios.json
def index
@portfolios = Portfolio.all
end
# GET /portfolios/1
# GET /portfolios/1.json
def show
end
Я действительно новичок в кодировании, и я не уверен, какой код критичен для этой ошибки, а какой нет, поэтому я разместил весь код на странице контроллеров
# GET /portfolios/new
def new
@portfolio = Portfolio.new
end
# GET /portfolios/1/edit
def edit
end
# POST /portfolios
# POST /portfolios.json
def create
# init_params = portfolio_params
# init_params[:user] = current_user.id
puts params
@portfolio = Portfolio.new(portfolio_params(params[:portfolio]))
respond_to do |format|
if @portfolio.save
format.html { redirect_to @portfolio, notice: 'Portfolio was successfully created.' }
format.json { render :show, status: :created, location: @portfolio }
else
format.html { render :new }
format.json { render json: @portfolio.errors, status: :unprocessable_entity }
end
end
end
Я просто размещаю этот комментарий здесь, чтобы разбить код, чтобы я мог опубликовать
# PATCH/PUT /portfolios/1
# PATCH/PUT /portfolios/1.json
def update
respond_to do |format|
if @portfolio.update(portfolio_params)
format.html { redirect_to @portfolio, notice: 'Portfolio was successfully updated.' }
format.json { render :show, status: :ok, location: @portfolio }
else
format.html { render :edit }
format.json { render json: @portfolio.errors, status: :unprocessable_entity }
end
end
end
# DELETE /portfolios/1
# DELETE /portfolios/1.json
def destroy
@portfolio.destroy
respond_to do |format|
format.html { redirect_to portfolios_url, notice: 'Portfolio was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_portfolio
@portfolio = Portfolio.find(params[:id])
end
Я немного поиграл с этим последним разделом, изменив: user на: user.id, но это не помогло, я также изменил: design на: design_name
def portfolio_params(params)
# params = params[:portfolio]
params.permit(:design_name, :user)
# user.id was changed back to user
end
end
Эй, прости! Полный код ошибки:
Extracted source (around line #31):
29
30
31
32
33
34
# init_params[:user] = current_user.id
puts params
@portfolio = Portfolio.new(portfolio_params(params[:portfolio]))
respond_to do |format|
if @portfolio.save