Ruby on rails 3 您获得未定义方法的可能原因是什么';模型名路径';在rails 3中使用表单_时出错?

Ruby on rails 3 您获得未定义方法的可能原因是什么';模型名路径';在rails 3中使用表单_时出错?,ruby-on-rails-3,form-for,Ruby On Rails 3,Form For,据我所知,我不明白为什么我会有这样的错误,一切都按它应该的方式设置好了 这是我得到的错误: 在/短/新时的命名错误 未定义的方法“短路路径”# 我的模特很矮,不是短裤 当我运行rake路由时,没有shorts\u路径,所以我不确定这个助手来自哪里。当控制器的def new部分中定义了@short时,我不明白为什么的表单_会给我这个错误 有人能给我解释一下吗 先谢谢你 这就是我的控制器的外观 class ShortController < ApplicationController

据我所知,我不明白为什么我会有这样的错误,一切都按它应该的方式设置好了

这是我得到的错误: 在/短/新时的命名错误 未定义的方法“短路路径”#

  • 我的模特很矮,不是短裤
  • 当我运行rake路由时,没有
    shorts\u路径
    ,所以我不确定这个助手来自哪里。当控制器的
    def new
    部分中定义了
    @short
    时,我不明白为什么
    表单_会给我这个错误
  • 有人能给我解释一下吗

    先谢谢你

    这就是我的控制器的外观

    class ShortController < ApplicationController
    
        def show
            @short = Short.find(params[:id].to_i(36))
    
            respond_to do |format|
                #redirect directly to the url stored as long in the database
                format.html { redirect_to @short.long}
            end
        end
    
        def new
            @short = Short.new
    
            respond_to do |format|
                format.html # new.html.erb
            end
        end
    
        def create
            @short = Short.new(params[:short])
    
            respond_to do |format|
                if @short.save
    
                    format.html { render action: "show" }
    
                else
    
                    format.html { render action: "new" }
                end
            end
        end
    end
    
    在视图中呈现的新表单部分

    <%= form_for(@short) do |f| %>
        <% if @short.errors.any? %>
            <div id="error_explanation">
                <h2><%= pluralize(@short.errors.count,"error") %> prohibited this url from being saved:</h2>
                <ul>
                    <% @short.errors.full_messages.each do |msg| %>
                        <li><%= msg %></li>
                    <% end %>
                </ul>
            </div>
        <% end %>
    
            <div class="form-field">
                <%= f.label "Enter your URL" %><br />
                <%= f.text_field :long %>
            </div>
            <div class="actions">
                <%= f.submit %>
            </div>
    <% end %>
    
    
    禁止保存此url:
    


    出现此错误是因为(@short)
    form\u将尝试使用名为
    short\u path
    的路径助手将表单路由到表单需要到达的位置。您的
    config/routes.rb
    文件中缺少此路由定义:

     resources :shorts
    
    请阅读手册和指南,其中应说明您遗漏的内容

     resources :shorts