class MoviesController < ApplicationController
def index
@movies = Movie.all
end
def show
@movie = Movie.find(params[:id])
@actors = @movie.actors
end
end
如上所示,在索引操作中,使用了@movies,但在show动作中,使用了@movie。如何确定它是复数还是单数?
答案 0 :(得分:3)
@movies
和@movie
都是您选择如何定义的实例变量。在您的示例中,@movies
被分配给模型中的整个电影集合,因此通常会为其分配一个复数变量。 @movie
被分配给一个记录,因此它通常被赋予一个单一变量。
您可以根据需要为实例变量命名,但Rails非常赞成约定优于配置。
答案 1 :(得分:1)
添加到@ Dithanial的答案,正如您在单击show action时所熟悉的那样,仅显示该特定记录。所以在下面的代码片段中:
&&
实例变量@movie根据它的id找到特定项目并显示内容。
答案 2 :(得分:0)
一般来说,在数组的情况下使用复数,在单个对象的情况下使用单数。
答案 3 :(得分:0)
在索引中 - 您将获得所有电影,以便列出所有电影。
在其他控制器方法中 - 您通常会编辑单部电影。
@movies
vs @movies
实际上并不重要。您可以将其命名为@banana
。但是,有很多案例,如文件名(模型=单数,控制器=复数)和活动记录关系(参考),其中多个确实重要