RoR:设计和配置文件
我是一个彻头彻尾的 Rails 菜鸟,我正在开发我的第一个 Rails 应用程序。
我希望每个用户都有一个个人资料,与 users
表分开,但通过 id 链接。我之前在 PHP 中做得很好,但 Rails 语法是新的。 :/
当每个用户通过 devise 注册时,如何为他们创建个人资料?我如何链接他们的 users/edit
页面来编辑他们的个人资料?
I'm a complete Rails noob and I'm working on my first rails app.
I'd like each user to have a profile, separate from the users
table, but linked by id. I did this alright in PHP before, but rails syntax is new. :/
How do I create a profile for each user when they register via devise? And how do I link their users/edit
page to edit their profile instead?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该阅读有关 关系 的教程
在 Rails 中声明关联非常容易。
在您的
app/models/user.rb
中,您可以执行类似的操作:您的用户个人资料是一个具有自己的表的不同对象。只需确保其中包含外键 user_id 即可(此外,您应该在用户的配置文件模型中指定
belongs_to :user
)。现在,使用 Devise,如果您想确保在用户注册后创建配置文件,您可以执行类似的操作(仍在用户的模型中):
然后,如果您想将特定 URL“链接”到控制器,请参阅路由教程
希望它有所帮助。
You should read this tutorial about Relationship
It's really easy to declare associations in Rails.
In your
app/models/user.rb
, you could do something like that:Your user's profile is a different object with its own table. Just make sure that you had the foreign key user_id in it, and you're good to go (also, you should specify
belongs_to :user
in your user's profile model).Now, using Devise, if you want to make sure that a profile is being created after a user registers, you could do something like that (still in your user's model):
And then, if you want to 'link' a specific URL to a controller, see the routing tutorial
Hope it helps.