why do you show code of Product controller, if you create new Line_Item?

понедельник, 18 марта 2013 г., 11:46:48 UTC+4 пользователь Ruby-Forum.com 
User написал:
>
> Hey. 
>
> After adding the item, an error undefined method `key?' for nil:NilClass 
>
> its my controller products: 
>
> ... 
> # GET /products/new 
>   # GET /products/new.json 
>   def new 
>     @product = Product.new 
>
>     respond_to do |format| 
>       format.html # new.html.erb 
>       format.json { render json: @product } 
>     end 
>   end 
> ... 
>
> model product: 
>
> lass Product < ActiveRecord::Base 
>  has_many :line_items 
>  before_destroy : ensure_not_referenced_by_any_line_item 
>
>   attr_accessible :title, :description, :image_url, :price 
>
>   validates :title, :description, :image_url, :price,  presence: true 
>   validates :price,  numericality: {greater_than_or_equal_to: 0.01} 
>   validates :title, uniqueness: true 
>  # validates :image_url, allow_blank: true, format: { 
>    # with: %r{ \.(gif|jpg|png)$}i, 
>     #message: 'gif, jpg png. ' 
>   #} 
>
>   def ensure_not_referenced_by_any_line_item 
>     if line_items.empty? 
>       return true 
>     else 
>       errors.add(:base, " существуют товарные позиции") 
>       return false 
>     end 
>
> end 
>
> class CreateProducts < ActiveRecord::Migration 
>   def change 
>     create_table :products do |t| 
>       t.string :title 
>       t.text :description 
>       t.string :image_url 
>       t.decimal :price 
>
>       t.timestamps 
>     end 
>   end 
> end 
>
> How solve this problem? 
>
> -- 
> Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-talk/-/XBARlQ0seecJ.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to