Ruby on rails 添加';当前用户';一个模特。(设计)轨道

Ruby on rails 添加';当前用户';一个模特。(设计)轨道,ruby-on-rails,model,devise,Ruby On Rails,Model,Devise,嗨,我是新来的,也是rails的新手 我想在默认情况下向名为books(Model:Book.erb)的数据库添加几个值 有一个用户创建了这些书(当前用户),我认为识别谁创建和删除了这些内容的一种方法是从用户那里添加一些默认值并对它们进行分类(具体的用户名和密码) my table“:books”有两个字段可用于添加用户名和密码 我试着这样做: # Book.erb class Book < ActiveRecord::Base after_save :set_default_va

嗨,我是新来的,也是rails的新手

我想在默认情况下向名为books(Model:Book.erb)的数据库添加几个值 有一个用户创建了这些书(当前用户),我认为识别谁创建和删除了这些内容的一种方法是从用户那里添加一些默认值并对它们进行分类(具体的用户名和密码)

my table“:books”有两个字段可用于添加用户名和密码

我试着这样做:

# Book.erb
class Book < ActiveRecord::Base
    after_save :set_default_values
    def set_default_values
        self.username = current_user.username
        self.password = current_user.encrypted_password
    end
end
#Book.erb
类目
但似乎我不能从这个模型中调用“当前用户”

我在看一篇关于

但是有人说这种方法违反了MVC模式,你同意吗?
你们知道在不违反模式的情况下执行此过程的更好方法吗?

好吧,我不知道为什么要将用户名和用户密码存储在book表中,即使很容易解释,这将违反良好数据库设计的规范化实践,即只表达一次字段,然后在需要共享的地方共享它

现在,假设出于某种我无法想象的原因,您必须这样做,我必须询问“username”是您的实际字段还是更标准的Rails仅仅是“name”。而且,我相信你必须在这些模型之间建立一种关系,才能将数据从一个模型拉到另一个模型,我看不出这本书有多少用户,或者一个,或者属于,或者诸如此类的东西


通过book和user之间的关系,您可以访问所有用户属性,而无需将它们写入用户表以外的任何位置。所以我想你可能想看看这个。

谢谢你回复@Art,我不知道关于has\u many和allowen\u的任何事情,这基本上就是我想要的,“书和用户之间的关系”,我会找的。:)