多くの関係でJob
呼び出された別のオブジェクトに属するというオブジェクトがあります。client
これが私の仕事のモデルです
class Job < ActiveRecord::Base
belongs_to :client
end
これが私のクライアントモデルです
class Client < ActiveRecord::Base
has_many :jobs
end
新しい仕事の場合、作成中にクライアントに割り当てたいだけです。
ただし、新しいジョブを作成しようとすると。私のビューに表示されるのは、名前ではなくジョブの ID だけであり、作成されたモデルの内部も空です。
ジョブを編集して再度保存しようとすると、次のエラーが表示されます。
Client(#2157214400) expected, got String(#2151988620)
Application Trace | Framework Trace | Full Trace
app/controllers/jobs_controller.rb:61:in `block in update'
app/controllers/jobs_controller.rb:60:in `update'
これは、コントローラーが何らかの形で間違っている可能性があると思いますが、これは私の最初のアプリなので、どこを見ればよいかよくわかりません。
これが私のコントローラーです。
class JobsController < ApplicationController
def index
@job = Job.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @job }
end
end
def show
@job = Job.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @job }
end
end
def new
@job = Job.new(params[:id])
respond_to do |format|
format.html # new.html.erb
format.json { render json: @job }
end
end
def edit
@job = Job.find(params[:id])
end
def create
@job = Job.new(params[:jobs])
respond_to do |format|
if @job.save
format.html { redirect_to @job, notice: 'job was successfully created.' }
format.json { render json: @job, status: :created, location: @job }
else
format.html { render action: "new" }
format.json { render json: @job.errors, status: :unprocessable_entity }
end
end
end
def update
@job = Job.find(params[:id])
respond_to do |format|
if @job.update_attributes(params[:job])
format.html { redirect_to @job, notice: 'job was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @job.errors, status: :unprocessable_entity }
end
end
end
def destroy
@job = Job.find(params[:id])
@job.destroy
respond_to do |format|
format.html { redirect_to :jobs }
format.json { head :no_content }
end
end
end
正しい方向へのポインタまたはうなずきをいただければ幸いです。