0

私は、労働者が仕事に入札でき、上司が自分の仕事ごとに単一の入札を受け入れて「割り当て」を作成できる求人掲示板を構築しています。ジョブショーページでは、すでに作成された入札を上司が受け入れることができます。とりわけ、私は次の協会を持っています。

Job:
  has_many :bids
  has_many :assignments, :through => :bids

Bid:
  has_one :assignment
  belongs_to :job

Assignment:
  belongs_to :bid
  has_one :job, :through => :bid

Job Show ページ内: (上司が入札を受け入れるためのフォーム)

<%= form_for :assignments, :url => '/assignments' do |f| %>

  <%= f.submit "Accept Bid", class: "btn btn-mini" %>
<% end %>

ジョブ コントローラで:

Show Action:
  @job.bids.each { |bid| bid.build_assignment }

割り当てコントローラーで:

Create Action:
  @bid = Bid.find(params[:bid_id])
  @assignment = @bid.build_assignment(params[:assignment])
  @assignment.save

ご覧のとおり、入札と関連付けて割り当てを作成しようとしています。質問:

1)「入札を受け入れる」(上記のフォーム)をクリックすると、Railsは入札が見つからないことを示すエラーを表示します(割り当てコントローラーの作成アクションで)。なんで?

2) 私も試してみました: <%= f.hidden_​​field :bid_id %> フォームで、Assignment create アクションを @assignment = Assignment.new(params[:assignment]) に変更しましたが、今では割り当てオブジェクトはどうやらbid_idがないので保存します。

4

0 に答える 0