Rails: Wicked не может найти <object>без идентификатора - PullRequest
0 голосов
/ 19 апреля 2019

В настоящее время я пытаюсь реализовать мастер с wicked в своем приложении rails.

Перенаправление после сохранения работает, но когда я пытаюсь обновить @product через мой general.html.erb вид, Я получаю следующую ошибку Couldn't find Product without an ID

У меня есть два отдельных контроллера для Prodouct.

Мои маршруты:

resources :products

resources :product_steps

Контроллер продуктов

  def create
    @product = current_user.products.build(product_params)
    if @product.save
      redirect_to product_step_path(product_id: @product.id, id: :general)
      # redirect_to is working
    else
      render :new
    end
  end

Контроллер ProductSteps

class ProductStepsController < ApplicationController
  include Wicked::Wizard
  before_action :set_product, only: [:show, :update]
  steps :general, :categories, :pricing, :pictures

  def show
    # The first show action for :general is working
    # The second show action for :categories isn't working
    render_wizard
  end

  def update
    @product.attributes = params[:product_id]
    render_wizard @product
  end

private
  def set_product
    @product = Product.friendly.find(params[:product_id])
  end
end

Мой взгляд на :general

<%= form_for @product, url: wizard_path, method: :put do |f| %>
<%= f.text_field :title, class: "form-control" %>
<%= f.submit "Continue", class: "btn btn-primary btn-block" %>
<% end %>

1 Ответ

0 голосов
/ 19 апреля 2019

Эта строка должна быть

@product = Product.friendly.find(params[:product][:id])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...