未定义的方法index_path,Rails 4.1

时间:2015-01-25 21:50:10

标签: ruby-on-rails undefined

我是Rails的新手,而且我遇到了一个我真的不明白的问题。

我的应用程序中的资源(资源:proposta)也是我的应用程序索引。这些是我的片段:

的routes.rb

Rails.application.routes.draw do
  resources :proposta
  root 'proposta#index'

proposta_controller.rb

class PropostaController < ApplicationController
  def index
    @proposta = Proposta.new
  end
end

我视图中的那一行/ proposta / index.html.erb

<%= form_for @proposta, html: {class: 'registration-form'} do |p| %>

但是当我访问我的索引(localhost:3000 /)时,我收到以下错误:

Showing /Users/sergio/RubymineProjects/habite/app/views/proposta/index.html.erb where line #155 raised: undefined method `proposta_index_path' for #< <Class:0x007febf4675600>:0x007febf43dca38>

我该怎么办?

2 个答案:

答案 0 :(得分:0)

将app / views / proposta / index.html.erb第55行proposta_index_path更改为propostas_path

并将路由从resources :proposta更改为resources :propostas和root 现在看起来应该是:root 'propostas#index'

答案 1 :(得分:0)

正如D-side和Daniel Loureiro所说,问题出现在我当地的lang上。我用以下代码纠正了这个问题:

ActiveSupport::Inflector.inflections(:en) do |inflect|
  inflect.plural 'proposta', 'propostas'
  inflect.singular 'propostas', 'proposta'
end

然后,我做了rake db:migrate并且一切正常。谢谢你们!