Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 轨道模型脚手架工作不正常_Ruby On Rails_Scaffolding - Fatal编程技术网

Ruby on rails 轨道模型脚手架工作不正常

Ruby on rails 轨道模型脚手架工作不正常,ruby-on-rails,scaffolding,Ruby On Rails,Scaffolding,在教程中的一个非常简单的rails项目中,我运行了rails生成脚手架事件title:string date:date description:text。一切正常,只是当我打开EventsController.rb时,我看到show方法为空: def show end 在课程视频中,我看到这个方法不应该是空的,应该包含@event=event.find(params[:id])之类的内容。可能是什么问题?在Rails 4中,样式更改为基于id获取特定资源。因此它被移动到before\folte

在教程中的一个非常简单的rails项目中,我运行了
rails生成脚手架事件title:string date:date description:text
。一切正常,只是当我打开EventsController.rb时,我看到show方法为空:

def show
end

在课程视频中,我看到这个方法不应该是空的,应该包含
@event=event.find(params[:id])
之类的内容。可能是什么问题?

在Rails 4中,样式更改为基于id获取特定资源。因此它被移动到before\folter部分

你可能会说

before_action :set_event, only: [:show, :edit, :update, :destroy]

def set_event
  @event = Event.find(params[:id])
end

请查看控制器的私有方法。

您是否查看了它是否位于过滤器之前的
中?您是否使用Rails 4?(您可以在Gemfile中检查)是的,它在before_过滤器中,是的,我使用的是Rails 4。马雷克,请把这个贴出来作为回答。非常感谢。谢谢你的快速回复。事实确实如此。不过还有一件小事:这涉及到@user=Event.find(params[:id])
部分,但仍然有一个
respond|to do | format |
在show方法或任何私有方法中都不存在。在这种情况下,它如何响应取决于格式?它不需要。它会根据您的回复自动回复。是的,您完全正确。您还看到show.json.jbuilder文件了吗?在views/users/目录下。这也是Rails4新增的一个默认特性(gemjbilder)。因此,当您访问/users.json时,将呈现此文件。