私は、Merchant and Loyaltycardというモデルを使って、基本的なロイヤリティカードアプリケーションを作成しています。商人の#ショービューでは、私はこのラインモデルで参照するlink_toコマンドでオブジェクトを渡す#新しいページ
<%=link_to 'New Loyalty card', new_loyaltycard_path(:merchant_id=>1) %>
を持って、私はそれが自動的にそのカードの加盟店として選択されるようにloyaltycardの#新しいビューに商人のIDを渡すためにしようとしています。 (loyaltycard#新しいによって呼び出される)loyaltycard#の_formで、私はライン
<%if @merchant%>
<%= f.hidden_field :merchant_id, :value => @merchant.id %>
<%else%>
<div class="field">
<%= f.label :merchant_id %><br />
<%= f.text_field :merchant_id %>
</div>
<%end%>
を持っているしかし、私は取得してクラスナシのIDを呼び出すことはできませんというエラー続けます。これを行うより良い方法はありますか?ここで
は、エラーがあなたのコントローラ内の任意の場所に変数@merchantを設定していないが、あなたはそれをビューを使用
Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
エラーメッセージとコントローラコードを入力しますか?私の賭けはコントローラーに問題があるのですか? @merchant = Merchant.where(:id => merchant_id)、もちろんid == 1のMerchantがデータベースに存在するはずです。 –
あなたがリクエストした情報を追加しました..ありがとうございました。 – John