【问题标题】:Rails form is giving undefined method errorRails 表单给出未定义的方法错误
【发布时间】:2014-10-03 16:21:09
【问题描述】:

这似乎是一个简单的问题,但我不知道我做错了什么。我有以下表单代码:

在控制器中:

class ProjectApplicationsController < ApplicationController
    def new_project
        @project.new
        @referral = Referral.new
    end
end

在视图中:

<%= form_for @referral do |f| %>
    <%= f.text_field :referrer_email %>
<% end %>

路线文件:

resources :referalls, only: [:create]

我之前已经做过无数次了,唯一的区别是表单呈现的视图与它要去的控制器不同(表单应该去推荐#create)。由于某种原因,我得到了错误:

undefined method `referrals_path' for #<#<Class:0x007fba5a11b4a0>:0x007fba5a119a10>

我做错了什么?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 model-view-controller rails-routing


    【解决方案1】:

    您收到此错误是因为没有refers_path。你有双 l 推荐

    resources :referalls, only: [:create] 
    

    但应该是

    resources :referrals, only: [:create]
    

    【讨论】:

    • 是的。你有一个错字。此外,您可以从控制台输入“rake routes”以查看您提供了哪些资源。
    • 我不敢相信我这么蠢。谢谢曼迪普。当计时器让我在 7 分钟内完成时,我会将其标记为正确。
    • @Philip7899 没问题。它发生了:)
    • @mandeep 你的答案也有错字,应该是resources :referrals, only: [:create]而不是resources :referals, only: [:create]
    • @NitinVerma 是的,我的错,没看到。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多