こんにちは私はひどく書かれたコードをいくつか持っています。私はこれをどうやってやるべきかわからない。複数のテーブルを操作し、コントローラ内の配列に値を代入してビューに表示する
は、まず正常に動作リンクがあります:
assignment_controllerのメソッド入札者にリンクします<td><%= link_to 'Show', bidders_assignments_path(:assignment_id => assignment.id), :method => :post %></td>
:@biddersアレイがデータで満たされると
def bidders
@bids = Bid.where(bidders_params).find_each
#I suspect there's error in the lines below
@bids.each do |bid|
@bidders = User.where(user.id => bid.user_id).find_each
end
end
def bidders_params
params.permit(:assignment_id)
end
、それが表示されますビュー:
<% @bidders.each do |bidder| %>
<tr>
<td><%= bidder.gender %></td>
<td><%= bidder.experience %></td>
<td><%= bidder.expected_salary %></td>
<td><%= bidder.education_id %></td>
<% end %>
エラーは@ bididの埋め込みにあると思われます私はここにいるのは確かではありません。前もって感謝します!
エラーとは何ですか?私はそれがブロックを渡されるべきだからこの '@bids = Bid.where(bidders_params).find_each'だと思う。 –
@ j-dexx私はArup Rakshitの提案に従ってdefの入札者を変更した: ' def bidder bidders_ids = bid。ここで(bidders_params).pluck(:user_id) @bidders = User.where(id:bidders_ids) end' これでエラーは表示されず、データは表示されません。 '@bids = bid.where(bidders_params).find_each' 問題は私が信じた後です。 – Benjamin
どのように問題はないと判断していますか?渡された引数に一致するデータがデータベースに存在しないことがありますか? –