2016-07-27 8 views
0

У меня есть типовая форма на основе:Невозможно создавать формы на основе модели рельсов 4

<h2>Add New Credit Card</h2> 
<%= form_for @credit_card do |f| %> 
    some fields 
<% end %> 

маршруты:

resources :credit_card 

credit_card_index GET /credit_card(.:format)      credit_card#index 
        POST /credit_card(.:format)      credit_card#create 
    new_credit_card GET /credit_card/new(.:format)     credit_card#new 
    edit_credit_card GET /credit_card/:id/edit(.:format)    credit_card#edit 
     credit_card GET /credit_card/:id(.:format)     credit_card#show 
        PATCH /credit_card/:id(.:format)     credit_card#update 
        PUT /credit_card/:id(.:format)     credit_card#update 
        DELETE /credit_card/:id(.:format)     credit_card#destroy 

контроллер:

def new 
    @credit_card = CreditCard.new 
end 

Когда я пытаюсь сделать по форме она говорит:

undefined method `credit_cards_path' for #<#<Class:0x00000004c37680>:0x00000004c34570> 
Did you mean? credit_card_path 
       credit_card_index_path 
       credit_card_url 

Его модель основана на форме, на данный момент у меня ничего нет в модели. Я просто хочу отдать и отправить будет идти, чтобы создать метод

ответ

3

Вы используете Singular Resources:

resources :credit_card 

Где вы должны использовать Plural Resources:

resources :credit_cards 
+0

что об этом: 'resources: credit_history'? – LearningROR

+0

Все зависит от того, что вам нужно. Я также разместил ссылки на документацию, чтобы посмотреть на нее. – Vucko

3

В ваших маршрутах используйте множественное число для определения resources.

resources :credit_cards 

Это будет генерировать ваши маршруты как

credit_cards GET /credit_cards/:id(.:format)     credit_card#show 
1

Используйте resources :credit_cards вместо resources :credit_card