0
我有一個簡單的應用程序,我想讓管理員創建一個新公司。我在控制器中創建方法如下:未定義的方法`build_for`在Rails中的類
def create
@company = Company.find_by({ name: company_create_params[:company_name] })
if @company.nil?
@company = Company.build_for(company_create_params)
else
return render :status => 200, :json => {
:error => true,
:reason => 'This company already exists in the database!'
}
end
if @company.save
return render :status => 200, :json => {
:success => true
}
else
return render :status => 500, :json => {
:error => true,
:reason => 'There was a problem adding the company'
}
end
end
private
def company_create_params
params.require(:company).permit(:company_name, :company_total_credits)
end
而且我的公司模式是:
class Company < ActiveRecord::Base
has_many :role
end
但每次我做了一個API後的時間它給了我build_for for class #<....>
錯誤Undefined method
是否因爲has_many
關係?我不想爲這些角色增加任何價值,而是希望他們稍後能夠做到。有沒有辦法解決這個問題?
您可以添加整個錯誤?,這Rails的版本:
你的整個動作可以顯著按照一些約定,順便可以減少? –
不應該是'Company.build(...)'? – Gerry
@Gerry是的,你說得對。這是我的不好,對不起! – anonn023432