Job
というオブジェクトが、別のオブジェクト に属し、多くの関係でclient
と呼ばれています。ここでRails 3.2 - 新しいデータベースエントリを編集しようとすると奇妙なエラーが発生する
が私の仕事のモデルがここに私のクライアントのモデルは新しい仕事を
class Client < ActiveRecord::Base
has_many :jobs
end
だ
class Job < ActiveRecord::Base
belongs_to :client
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'
私のコントローラは何らかの形で間違っている可能性がありますが、これは私の最初のアプリですので、どこを見てもわかりません。
ここは私のコントローラです。
クラス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
任意のポインタまたは右方向にうなずきは理解されるであろう。
私達にあなたの仕事を編集するためのフォームを表示します。 – jdoe
フォームはここに投稿するのが長いですが、ここにあります.. https://gist.github.com/2638538 – Keva161