我正在尝试在我正在创建的对象上设置属性。我觉得这应该有用:
def create
@album = Album.new(params[:album])
@album.user = current_user
if @album.save
flash[:notice] = 'Album was successfully created for ' + current_user.login + '.'
redirect_to albums_url
else
render :action => "new"
end
end
但它似乎忽略了user
字段的赋值。有什么想法吗?
答案 0 :(得分:4)
假设您的模型关系设置正确*,最好这样做:
@album = current_user.albums.build(params[:album])
- 这会正确地将新相册的user_id
字段填充为当前用户的ID。
*类似的东西:
class User < ActiveRecord::Base
has_many :albums
.
.
.
end
class Album < ActiveRecord::Base
belongs_to :user
.
.
.
end
答案 1 :(得分:1)
您的相册迁移或您的相册模型是否引用了user_id或与用户的关系?
如果没有,即使您指定了数据库,数据库也不会保存该信息。