0
これらの質問(oneとtwo)は、自分のメソッドを現在のユーザーだけに調整する方法を説明していますので、user_idを編集、更新、 。ここで@ mymodel.user = current_userが私のために働いていない
は私のコードです:
マイ移行:
class CreateProducts < ActiveRecord::Migration
def self.up
create_table :products do |t|
t.string :name
t.date :date
t.decimal :price, :default => 0, :precision => 10, :scale => 2
t.integer :user_id
t.float :latitude
t.float :longitude
コントローラー:
class ProductsController < ApplicationController
before_filter :authenticate_user!
def index
@products = Product.all
def show
@product = Product.find(params[:id])
def new
@product = Product.new
def edit
@product.user = current_user
@product = Product.find(params[:id])
end
def create
@product.user = current_user
@product = Product.new(params[:product])
def update
@product.user = current_user
@product = Product.find(params[:id])
def destroy
@product.user = current_user
@product = Product.find(params[:id])
@product.destroy
商品型番:その後、
class Product < ActiveRecord::Base
attr_accessible :name, :date, :price, :tag_list
belongs_to :user
end
工夫ユーザモデル:
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :email, :password, :password_confirmation, :remember_me
has_many :products, :dependent => :destroy
私はそれを提出しようとすると、突然これがポップアップ表示されます:ProductsController#で
NoMethodErrorを私は何をしないか、間違ってやっている
undefined method `user=' for nil:NilClass
を作成しますか?
ありがとうございます!
オーダーは重要なことを知らなかった!私はすべてのアクションが同時に発生すると思った。まだ他のユーザーは、他のユーザーの製品を破壊し、編集します。どのように私はこれを修正するのですか? – LearningRoR
私の答えの追加を見てください。 –
ありがとうございました! – LearningRoR