2014-10-01 3 views
0

Rails 2.2.3, Ruby 1.8.7Неизвестное действие, даже если я использовал коллекцию

У меня есть контроллер Формы. Есть много форм ... Я объявил methode import_cash_payments на форме контроллера, после того как я добавил его в маршруты через коллекцию. Во всяком случае, это дает мне эту ошибку.

Посмотрите, что в моем forms_controller.rb:

def import_cash_payments 
     @title = "Импорт наличных оплат" 
end 

Вот маршруты:

map.resources :forms, 
    :collection => { 
     :import_cash_payments => :post, {...}, :export_form10 => :post 
    } 

Кроме того, у меня есть файл представления: формы/import_cash_payments.html.erb

Это я получаю: (просмотреть)

Unknown action 
No action responded to show. Actions: ...(many actions)..., import_cash_payments, ...(many actions)... 

Это из рек маршрутов команды в консоли:

import_cash_payments_forms POST /forms/import_cash_payments       {:controller=>"forms", :action=>"import_cash_payments"} 
+0

Как ваш взгляд выглядят? – usha

+0

Я помещал его в пост как «Это я получаю». – TheVic

ответ

1

В рельсах 3 и 4

# config/routes.rb 
. . . 
resources :forms do 
    collection do 
    post 'import_cash_payments' 
    end 
end 
. . . 
# controllers/forms_controller.rb 
class FormsController < ApplicationController 
    def new 
    @cash = Cash.new 
    end 

    def import_cash_paymenes 
    @cash = Cash.new(cash_params) 
    @cash.save 
    . . . 
    end 
end 

# app/views/forms/new.html.erb 
<%= form_for @cash, url: 'import_cash_payments_path' do %> 
. . . 
<% end %> 
+0

Извините, но я использую Rails 2.2.3. – TheVic

Смежные вопросы