2016-04-27 52 views
0

我试着基础上的“成长”,即时通讯创造(一个花园管理工具”参数是丢失或为空值:类

但是我发现了以下错误的标题就可以创建一个新的类别:

“PARAM缺失或为空值:类别”

[编辑]这是代码是如何固定为每评价的建议:

除去@grow = Grow.new(grow_params.merge(category: Category.create(cat_params)))

@grow = Grow.new(grow_params)

更换,并在成长型加

after_create do Category.create(name: self.title) end

及其固定。

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 

我只是想在grow.title新的类别名称 传递但是林不知道如何实现它。

回答

2

在你create方法离开说法是 @grow = Grow.new(grow_params)

,并在您Grow模型,编写after_create回调

在其中创建您CategoryCategory.create(name: self.title)

+0

谢谢,固定起来很好。 – mGarsteck

+0

如果我想在删除增长的时候摧毁这个类别,我会在after_destroy后使用相同的参数吗? - Category.destroy(name:self.title) – mGarsteck

+0

好吧,你可以这样做。但我更愿意使用'dependent::destroy'来进行关联。 – Alfie

相关问题