gpt4 book ai didi

ruby-on-rails - 在 Rails 4 中创建当前变量

转载 作者:数据小太阳 更新时间:2023-10-29 08:27:06 26 4
gpt4 key购买 nike

我是 Rails 的菜鸟。我正在使用 Rails 4,但我找不到他们是如何做到这一点的,也不知道它叫什么。

我从 devise 得到了这个想法,您可以在其中使用 devise 并在您的 application.html.erb 文件中实现这样的东西:

<% if user_signed_in? %>
Logged in as <strong><%= current_user.email %></strong>.

其中 user 是设计模型。但是,当我尝试搜索 user_signed_incurrent_user 变量时,我根本找不到它!

基本上我想做的是将这个user 模型(用于devise)与我创建的另一个名为profile 的模型链接起来>。这些模型通过它们的 ID 链接,如果用户尚未创建个人资料,则只需要求用户创建他/她的个人资料。为此,我将其写入 application.html.erb:

<% if user_signed_in? && (current_profile.id != current_user.id)? %>
<%= link_to 'You have not created your profile! Please create your profile first.', update_profile_index_path, :class => 'navbar-link' %>
<% else %>
<%= yield %>
<% end %>

这没有按预期工作,因为我没有定义 current_profile。我得到的错误是:

undefined local variable or method `current_profile' for #<#<Class:0x000000044d6c60>:0x00000005d64110>

我的问题是,如何创建一个名为 current_profile 的变量来包含当前配置文件,就像 current_user devise 那样?

最佳答案

通常的设置是添加一个带有 user_id:integer 字段的 Profile 模型。

在用户模型上定义一个关联

has_one :profile

然后就可以直接使用

访问了
current_user.profile

关于ruby-on-rails - 在 Rails 4 中创建当前变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25528272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com