2010-01-14 7 views
0

Я боролся с этим в то время как сейчас ...Рельсы делают, если @ transaction.save терпит неудачу

У меня есть более сложную форму (сохраняет одну транзакцию и два transaction_data одновременно).

Я получил его, чтобы сохранить все в порядке, однако я борюсь с ошибками. Если я использую следующее в «create» - в случае ошибки - он не содержит никаких значений, которые у меня были на одной странице перед отправкой, и в основном заканчивается ошибкой rails.

if @transac.save 
    ... 
else 
    ... 
    format.html { render :action => 'buy' } 
end 

Кроме того, в «купить» (в контроллере), прежде чем я отправить форму я имел такие вещи, как:

@transac = Transac.new 
2.times { @transac.transaction_datas.build } 
@my_collection = current_user.items.all 

Проблема в том, что в случае Rails ошибок не работает действие контроллера «купить», но только его взгляд. Как я могу справиться с этим? Мне нужно @my_collection, чтобы отобразить список элементов радиокнопки, которые пользователь выбрал бы в случае ошибки ?!

ответ

1

Вы уверены, что transaction (или даже get ??) не является reserved word?

+0

Я избавился от «транзакции» и «получил», но все тот же вопрос, и, похоже, это связано с тем, что Rails не запускает действие Controller «get» ... Так как мне обрабатывать это?! Настолько разочаровывающе! –

+0

Если у вас все еще есть проблема с действием контроллера с именем get, почему бы не изменить имя этого действия (соглашение Rails, вероятно, будет «показывать»). Кроме того, разместите свой последний код, потому что код в вашем ответе по-прежнему показывает модель с именем «Транзакция» ... – tfwright

+0

floyd, я обновил код в вопросе ... –

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