ruby on rails代码显示白色文本

时间:2016-07-26 19:34:51

标签: ruby-on-rails ruby

我是一名新手,通过观看udemy视频在轨道上学习红宝石,但我遇到了#34;路由错误"。视频监察员在使用崇高时似乎有不同的颜色文字,所以我不确定我的假设是什么?我目前正在使用sublime的试用版。我的代码在下面,看到附加的图像。谢谢!

class PicsController < ApplicationController

  def index
  end

  def new
    @pic = Pic.new
  end

  def create
    @pic = Pic.new(pic_params)
  end

  private 

  def pic_params 
    params.require(:pic).permit(:title, :description)
  end
end

当我运行服务器以查看输出结果时: routing error 图像在sublime文本编辑器中显示我的代码: [![在此处输入图像说明] [2]] [2]

config/routes.rb file

3 个答案:

答案 0 :(得分:3)

您尝试访问/posts处的页面,而您的控制器和路径文件清楚地告知该路径应为/pic

尝试:

http://localhost:3000/pic

此外,您似乎必须修复我们的config/routes.rb

Rails.application.routes.draw do 
  root "pics#index" 
  resources :pic 
  get 'posts' => 'pics#index', as: 'posts' 
end

注意:控制器的命名约定是Rails中的复数名称。这意味着您还必须确保您的路由指向多个版本的控制器名称。

答案 1 :(得分:0)

更好的是,您的控制器名称是Pics,您的 routes.rb 文件中应该有resources :pics。相反,你有resource :pic。这只是一个很好的做法,错误是你试图访问 / posts ,而不是 / pic ,或者更好: / pics ,一旦你修好路线。

答案 2 :(得分:0)

您没有帖子路由器。转到config / routes.rb&amp;添加新行:

get 'posts' => 'pic#index', as: 'posts'

&安培;网址localhost:3000/posts将访问控制器pic&amp;行动index

resources :pics

run rake routes显示您的路径:

localhost:3000/pics将使用控制器pics&amp;行动index