2012-02-11 6 views
0

私は、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 
+0

エラーメッセージとコントローラコードを入力しますか?私の賭けはコントローラーに問題があるのですか? @merchant = Merchant.where(:id => merchant_id)、もちろんid == 1のMerchantがデータベースに存在するはずです。 –

+0

あなたがリクエストした情報を追加しました..ありがとうございました。 – John

答えて

0

あるloyaltycard

def new 
    @loyaltycard = Loyaltycard.new 

    respond_to do |format| 
     format.html # new.html.erb 
     format.json { render json: @loyaltycard } 
    end 
    end 

    # GET /loyaltycards/1/edit 
    def edit 
    @loyaltycard = Loyaltycard.find(params[:id]) 
    end 

    # POST /loyaltycards 
    # POST /loyaltycards.json 
    def create 
    @loyaltycard = Loyaltycard.new(params[:loyaltycard]) 

    respond_to do |format| 
     if @loyaltycard.save 
     format.html { redirect_to @loyaltycard, notice: 'Loyaltycard was successfully created.' } 
     format.json { render json: @loyaltycard, status: :created, location: @loyaltycard } 
     else 
     format.html { render action: "new" } 
     format.json { render json: @loyaltycard.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

用コントローラのコードです。

1

あなたのnewアクションが次に、あなたのコードが動作するはずルックアップするためにparams[:merchant_id]を使用して@merchant

@merchant = Merchant.find(params[:merchant_id]) 

に設定されている中で行うために必要なもの、それなしで、@merchantがnilである、とあなたが呼び出すことができませんメソッド:idnil

関連する問題