我创建了小运动应用程序,现在我在索引页面上仅显示当前用户锻炼有问题。
问题:WorkoutsController#index中的NoMachodError。nil: NilClass的未定义方法“锻炼”。
def index
@workouts = current_user.workouts.all
end
我在下面留下所有细节:
协会
>
有很多:锻炼
在我的锻炼模型中,我写道
belongs_to:用户
在我的视图/训练/索引中。html。erb公司
<% @workouts.each do |workout| %>
<h4><%= link_to workout.date, workout %></h4>
<h3><%= workout.workout %></h3>
<% end %>
试试这个:
def index
@workouts = current_user.present? ? current_user.workouts : []
end
我认为没有登录时出错,current_user
返回nil
如果您想获得当前_用户的训练列表,则应定义当前_用户。这意味着你需要登录。您可以使用before filter轻松检查
before_filter :authenticate_user!
在你使用你的代码之后
@workouts = current_user.workouts.all
如果你想显示其他用户的训练,可以跳过筛选以进行新操作
class TestController < ApplicationController
before_filter :authenticate_user!, except: [:another_index]
def another_index
@workouts = User.find(params[:id]).workouts.all
end
end
我想用纯CSS设计上面的图像。 下面是我到目前为止想出的HTML和CSS: 下面是我的SCSS: 以下是我现在的结果: 我正在努力实现,像我悬停个人资料图片时,图像将覆盖黑色,并出现相机图标。我怎么能那样做?
我试图将我当前用户的用户名添加到我的URL(route)中,但是我不断地得到错误。我已经尝试了很多下面提到的方法,但是没有一个有效。以下是我的代码: Layout.html: 当我尝试转到另一个页面时,我收到错误,当我转到设置时收到404。 jinja2.exceptions.UndefinedError jinja2.exceptions.UndefinedError:'user'未定义 MOD
我已经使用PagedList为一个mvc项目创建了分页,在一个新的需求出现之前一切正常: null 任何建议都将不胜感激。
我目前正在开发一个应用程序使用Android Studio与静态编程语言。 此应用程序有一个BottomNavigationView和4个片段。 我的问题是如何使用BottomNavigationView仅显示片段区域? 代码如下: fragment.xml activity_main.xml Android Studio: 3.3.2
如果我手动安装我自己的应用程序,它在我的设备上运行良好。以及我的Nexus 7 (2012) (Android 5.1.1)上。但当我试图从Google Play安装它时,它说我的设备不受支持。我检查了AndroidManifest.xml,通过aapt转储标记查看了apk,添加到清单文件中,但没有任何帮助。我不知道为什么Google Play认为我的应用程序不受支持。 在我的其他设备上,我的应用
喂! 我一直在做一个web项目,用户可以注册和登录。我也想添加一个配置文件,他们提供的一些信息可以在“配置文件”页面上显示。 我已经使用firebase auth(与电子邮件和密码)和rt数据库存储额外的信息,如‘姓名','生物’等。 我已经尝试过这里其他问题的解决方案,但似乎没有一个对我有效。 下面是我的数据库的外观: 下面是配置文件页面的一些代码: 当我测试代码时,我在控制台上得到了这个错误: