【问题标题】:Rails Controller Models Naming Convention ProblemRails 控制器模型命名约定问题
【发布时间】:2011-08-29 08:51:05
【问题描述】:

我是 Ruby on Rails 的新手,正在尝试设置基于 oracle 的 ROR 应用程序,

数据库表名是booker.live_edi_vendors

我在以下路径中定义了我的控制器:

../rails-root/app/controller/live_edi_vendors_controller.rb

内容是:

 class LiveEdiVendorsController < ApplicationController
    def index
      @name = request.env['REMOTE_USER']
    end
 end

我还为这个控制器创建了一个视图,它位于../rails-root/app/views/live_edi_vendors 文件夹中。

我已经在index.html.erb这个目录里面放了一些代码。

现在,我的模型文件是../rails-root/app/model/live_edi_vendors.rb

这个文件的内容是:

class LiveEdiVendors < ActiveRecord::Base
      set_primary_key "live_edi_vendor_id"
      set_table_name "booker.live_edi_vendors"

      def LiveEdiVendors.find_by_legal_entity_id(legal_entity_id)
          return "asdadsad" #testing (temporary)
      end
  end

现在,

当我尝试从浏览器访问路径 &lt;website host&gt;/live_edi_vendors 时,它说

uninitialized constant LiveEdiVendorsController

我的routes.rb 文件包含以下行来路由请求:

map.vendorlivelist 'live_edi_vendors/:action', :controller => 'live_edi_vendors'

请帮帮我,这些天我一直在为这些命名约定而苦苦挣扎。

我也把我的目录结构放在这里:

app
|-- controllers
|   `-- live_edi_vendors_controller.rb
|-- model
|   `-- live_edi_vendors.rb
`-- views
    |-- layouts
    `-- live_edi_vendors
        `-- index.html.erb

谢谢,

【问题讨论】:

  • 单数表示模型,复数表示控制器。
  • 我认为您的代码没有任何问题。您是否尝试过重启服务器?
  • 感谢 mischa,重启服务器就成功了 :)

标签: ruby-on-rails ruby ruby-on-rails-3 rails-activerecord


【解决方案1】:

hmm 模型名称总是单数 试试

class LiveEdiVendor < ActiveRecord::Base
  ....
end

还有模型文件名

live_edi_vendor.rb

【讨论】:

  • 这样做了,但没有发生任何事情。实际上这是控制器本身的问题,我认为即使我没有使用模型,它也会显示“未初始化的常量 LiveEdiVendorsController”
  • 我的控制器文件名是live_edi_vendors_controller.rb,类名是“LiveEdiVendorsController”
猜你喜欢
  • 2011-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 2018-07-07
  • 1970-01-01
相关资源
最近更新 更多