2016-06-22 5 views
0

を引き上げることができませんでした..私は私の「アドレス」編集コントローラ上で私のcollection_select機能を修正しようとしています..私の見解でcollection_selectは誰もが私が直面していますこの小さな問題で私を助けることができる場合、私は思っていたリスト

示す全く所有者は存在しませんように私のコントローラで

<%= form_for(@address) do |f| %> 
<%= render 'shared/error_messages', object: f.object %> 
<%= hidden_field_tag :customer_id, @customer.id %> 

<%= f.label :customer_id %> 
<%= f.text_field :customer_id, class: 'form-control' %> 

<%= f.label :name %> 
<%= f.text_field :name, class: 'form-control' %> 

. 
. 
. 

<%= f.label :owner_id %> 
<%= f.collection_select :owner_id, @owners, :id, :name, {:include_blank => 'no owners', :prompt => true}, class: 'form-control' %> 

. 
. 
. 
<%= f.submit "Edit address", class: "btn btn-primary" %> 

def edit 
@address = Address.find(params[:id]) 
@customer = Customer.find(params[:id]) 
@owners = Owner.where(customer_id: @customer.id) 
end 

これは働くことができないedit.html.erb私はすでに所有者テーブルのcustomer_idを使用して特定の顧客に関連付けると考えていました。

私は私のコントローラの編集コードを変更しようとしました

:それはCUSTOMER_IDとすべての所有者を引っ張るよう、

def edit 
@address = Address.find(params[:id]) 
@customer = Customer.find(params[:id]) 
@owners = Owner.where(customer_id: 75) 
end 

とこの作品:75

私もに編集フォームへのリンクを変更しました次のようなパラメータにcustomer_idを含めてください:

誰でも手伝ってもらえますか?私はそれが私のコーディング部分でちょっとした誤りかもしれないことを知っているので、大いに喜ぶでしょう。

+0

'。この '.to_sql'のために使うことができます – kunashir

+0

' @ customer'は 'Customer.find(params [:customer_id])'であるべきだと思います。 – oreoluwa

答えて

0

後に以下のようにコードを入力し、私の問題を解決することができ: `と` Owner.where(CUSTOMER_ID:customer.id @):SQL `Owner.where(75 CUSTOMER_ID)のための文を比較してみ

def edit 
    @address = Address.find(params[:id]) 
    @customer = Customer.find(params[:id]) 
    @owners = Owner.where(customer_id: params[:customer_id]) 
    respond_to do |format| 
    format.js { render partial: 'address_edit' } 
    end 
end 
+0

私はそのコメントに言及しました。しかし、あなたは '@ customer'変数をもう必要としません。もしあなたがこのルートに行くのであれば、アプリ内で完全性を維持するために、' find'がレコードwasnならばエラーを起こすので便利ですあなたの助けを借りてくれてありがとうございました – oreoluwa

+0

!私のコードでfindメソッドを試してみます。 –

関連する問題