2016-06-09 1 views
0
Rails 3.2 

На мой взгляд, у меня есть:Правильный синтаксис Канальный контроллер действия, используя тонкий

= form_for CustomerInfo.new do |f| 
    .form-horizontal-column.customer-info 
    .form-group 
     = f.label :first 
     = f.text_field :first, maxlength: 50 
    .form-group 
     = f.label :last 
     = f.text_field :last, maxlength: 50 
    .actions = link_to "Save", :controller => :CustomerInfo, :action => :create 

Это вызывает ошибку 500 без дополнительной информации об ошибке.

Если я заменить последнюю строку с:

.actions = f.submit 'Save' 

Тогда форма делает хорошо.

Любая идея, почему исходный синтаксис не работает?

ответ

1

Возможно, вы получите сообщение об ошибке, поскольку маршрут, указанный вами в link_to, не существует.

Если вы используете опцию :controller, вам необходимо указать ее в футляре змеи и множестве (чтобы соответствовать множеству фактического имени контроллера).

Так что, если ваш контроллер называется CustomerInfosController, вы пишете, что, как controller: :customer_infos

+0

Я попытался изменить его: .actions = link_to «Сохранить», контроллер:: customer_infos, действие:: создать, но я получаю сообщение об ошибке 404 – EastsideDeveloper

+0

Что говорят журналы ошибок? Вы тестируете это в режиме разработки? Если это так, должна быть дополнительная информация о специфике проблемы, которая была бы полезной –

+0

Я не тестирую ее в режиме разработки. Я тестирую тестовый режим. Я увижу, могу ли я получить более полезную информацию об ошибке. Кажется, что он терпит неудачу, когда он входит в частичное – EastsideDeveloper

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

  • Нет связанных вопросов^_^