我是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>
我该怎么办?
答案 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并且一切正常。谢谢你们!