【问题标题】:Rails Controller not picking up matching models and methodsRails 控制器没有选择匹配的模型和方法
【发布时间】:2012-12-11 21:46:52
【问题描述】:

所以我的 Rails 控制器由于某种原因无法(正常)工作。

当我第一次打开控制器文件时,我首先注意到了一些有趣的事情。

将此与正常的语法突出显示进行比较。 (还要注意名字过长)

这是我尝试在其中一个视图中创建链接时遇到的错误。

ActionView::Template::Error (undefined method `new_voyage_at_port_log_entries_path' for #<#<Class:0x007fb1c5921a98>:0x007fb1c81a32a0>):

这是我在路由中插入了这个的证明。

resources :voyage_at_port_log_entries

我确实通过创建手动路线来实现它,但这有点尴尬,我以后可能会预见到问题。为什么 ActionView 可能不起作用?

【问题讨论】:

    标签: ruby-on-rails pluralize


    【解决方案1】:

    呃!路由是为单数版本创建的。

    所以...

    new_voyage_at_port_log_entry_path
    

    有效!

    但是...语法突出显示仍然关闭... 嗯……不重要但很奇怪……可能有不同的复数引擎?

    【讨论】:

    • resources 创建的路由根据上下文使用单数和复数名称。如果您正在对集合(例如索引路径)进行操作,它将使用复数名称。如果您对单个项目(显示、更新等)进行操作,它将使用单数名称。语法高亮是编辑的责任,与 Ruby、Rails 或复数系统无关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多