ruby-on-rails - 尝试从其他 Controller 模型检索数据时收到 ActiveRecord::RecordNotFound 消息

标签 ruby-on-rails ruby devise

我正在尝试建立一个类似新闻网站的网站。用户可以发布文章,这些文章会被归类到不同的类别,例如体育、政治等。

想法是有一个索引 Controller ,其中包含 home/sports/politics... 使 url 像 xxx.com/index/home、xxx.com/index/sports 的方法。主页将显示每篇文章。但是,我在尝试获取数据时收到了 ActiveRecord::RecordNotFound 消息。

目前有 3 个 Controller 。 1.索引 2. 用户(使用设计) 3. Post(带post模型)

在索引 Controller 中:

class IndexController < ApplicationController
before_filter :find_post

def home
end

def find_post
@user = User.find(params[:id])
@posts = @user.posts.find(params[:id])
end
end

在后期模型中:

class Post < ActiveRecord::Base
belongs_to :user
validates :content, presence: true
end

route.rb 包含

Rails.application.routes.draw do
devise_for :users
resources :posts

当我运行/index/home page 时,我收到了消息 ActiveRecord::RecordNotFound 在 IndexController#home 找不到“id”=

的用户

提取的源代码(大约第 39 行): 37 def find_post 38
39 @user = User.find(参数[:id])

最佳答案

那是因为 params[:id] 是空的,因为 url 中没有 id。您应该相应地更改您的代码。

关于ruby-on-rails - 尝试从其他 Controller 模型检索数据时收到 ActiveRecord::RecordNotFound 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34182027/

相关文章:

ruby-on-rails - 使用 DeviseTokenAuth 和 Ionic 的 Rails API 没有 current_user

ruby-on-rails - Rails 5 使用 :id 向 REST 路由添加自定义操作

ruby - 生产者/消费者的特例

ruby-on-rails - 如何展平阵列阵列 - 但不是一直向下

ruby-on-rails - 在 Rails 应用程序中使用 Grape 有什么好处?

ruby-on-rails - 为 Ruby on Rails 设计,安装后的路由问题

ruby-on-rails - 了解Ruby on Rails的渲染时间

javascript - 使用 setData ("hai"后 Ckeditor 插件功能不起作用;

ruby-on-rails - 如何让 Devise 在 Heroku 上发送确认电子邮件?

ruby - 使用 activeadmin 未初始化的常量 Devise (NameError)