我的应用程序中有 2 个模型(使用 rails 3.2.5)
1)用户(来自设计)
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me
# attr_accessible :title, :body
has_many :profiles
end
2) 配置文件。
class Profile < ActiveRecord::Base
belongs_to :user
attr_accessible :description, :name, :product, :image, :price
mount_uploader :image, ImageUploader
validates_presence_of :name, :product, :image, :price
end
一个用户有很多个人资料。目标:当他们登录时,我只想显示与每个用户相关的配置文件。
通过阅读rails文档,我们可以通过(下面的代码)为用户创建一个新的配置文件,但这会给出错误“undefined method `Profile' for nil:NilClass”
有人可以帮我定义控制器的索引、显示、新建、编辑、创建、更新、销毁或显示一个,我可以为所有人做。
def new
@profile = @user.Profile.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @profile }
end
end