Ich habe 4 Modelle erstellt: Grow, Tray, Plant, Category. Meine Absicht ist es, jedem Modell eine Kategorie zuzuordnen, damit ich mich über Kategorien organisieren kann. Wenn ich einen neuen Zuwachs erstelle, wird eine neue Kategorie erstellt. Wenn ich ein neues Fach anlege, kann ich das Fach der neu erstellten Wachstumskategorie zuweisen.Erstellen Sie eine neue Kategorie, wenn eine neue Aktion auf einem separaten Controller aufgerufen wird
wachsen belongs_to Kategorie Tray belongs_to Kategorie Pflanze belongs_to Kategorie
class GrowsController < ApplicationController
before_action :set_grow, only: [:show, :edit, :update, :destroy]
def index
@grows = Grow.all
end
def show
end
def new
@grow = Grow.new
end
def edit
end
def create
@grow = Grow.new(grow_params.merge(category: Category.create(cat_params)))
respond_to do |format|
if @grow.save
format.html { redirect_to @grow, notice: 'Grow was successfully created.' }
format.json { render :show, status: :created, location: @grow }
else
format.html { render :new }
format.json { render json: @grow.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /grows/1
# PATCH/PUT /grows/1.json
def update
respond_to do |format|
if @grow.update(grow_params)
format.html { redirect_to @grow, notice: 'Grow was successfully updated.' }
format.json { render :show, status: :ok, location: @grow }
else
format.html { render :edit }
format.json { render json: @grow.errors, status: :unprocessable_entity }
end
end
end
# DELETE /grows/1
# DELETE /grows/1.json
def destroy
@grow.destroy
respond_to do |format|
format.html { redirect_to grows_url, notice: 'Grow was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_grow
@grow = Grow.find(params[:id])
end
def cat_params
params.require(:category).permit(:name)
end
def grow_params
params.require(:grow).permit(:title, :notes, :category_id)
end
end
etc etc, es ist ziemlich Standard-Setup für die Ansichten und Controller. Ich bin mir nicht sicher, wie ich das erreichen soll. Bitte helfen Sie, mich in die richtige Richtung zu lenken :)
Ich bekomme diesen Fehler. ‚param fehlt oder der Wert ist leer: Kategorie‘ – mGarsteck
Obwohl dieser Code die Frage beantworten kann, zusätzlichen Kontext bereitstellt in Bezug auf _why_ und/oder _how_ es beantwortet die Frage würde seine langfristige Wert deutlich verbessern. Bitte [bearbeiten] Sie Ihre Antwort, um eine Erklärung hinzuzufügen. –