2016-05-09 5 views
0

私はRailsのを使用してeコマースを構築していますを取得することはできませんし、私はこの問題に捕まってしまった:は、アイテムはCATEGORY_ID

私はからいくつかのカテゴリ内の新しいアイテムを作成しようブラウザでは、作成された項目はカテゴリのIDを取得しません。コンソールで

http://localhost:3000/categories/1/items/new

私はそれが正しくCATEGORY_ID取得paramsは確認することができます:アイテムのCATEGORY_IDを作成した後

Parameters: {"category_id"=>"1"}

をnilに等しいです。

は、ここに私のアイテムのモデルファイルです:

class Item < ActiveRecord::Base 
    belongs_to :category 
end 

Categoryモデル:

私は項目にCATEGORY_IDを渡す
class Category < ActiveRecord::Base 
    has_many :items 
end 

これは私のitems_controller.rbファイルです。また

class ItemsController < ApplicationController 
# other actions are ommited 
    def new 
     @item = Item.new 
     @item.category_id = params[:category_id] 
    end 
end 

アプリ全体を見ることができます: https://github.com/kaneru/estore

ありがとうございます。次のように

+0

をフォームでカテゴリIDを渡していますか? –

+0

@ j-dexxはそれについて完全に忘れてしまった、dkpはすでにそれについて私に知らせてくれた。ありがとう。 – kaneru

答えて

2

あなたviews/items/_form.html.erbはなります。

<div class="row"> 
    <div class="col-lg-4 col-md-offset-4"> 
    <%= simple_form_for @item do |f| %> 
    <%= f.hidden_field :category_id,value: params[:category_id] %> 
    <%= f.input :title %> 
    <%= f.input :price %> 
    <%= f.input :color %> 
    <%= f.input :weight %> 
    <%= f.input :description, as: :text %> 
    <%= f.input :picture, as: :file %> 
    <%= f.button :submit, class: "btn btn-primary" %> 
    <% end %> 

    <br/> 
    <%= render "menu" %> 
    </div> 
</div> 
+0

ありがとう!それは働いた。 – kaneru