2013-01-15 72 views
1

我在routes.rb中定義了resources :campaigns如何預先填寫模型錯誤的輸入字段?

如果我創建一個/campaigns/new.html.erb form_for @campaign(廣告活動#新的),創建相應的字段,然後如果有保存模型錯誤提交的campaigns#create,如果我瀏覽器重定向到campaigns#new,表單域顯示爲空。

我記得有一些技巧,但我似乎無法谷歌它,因爲我在命名上很薄弱。

回答

3

在您的創建操作中,不是重定向而是渲染'新'頁面,以便在呈現表單時設置@campaign值。

+0

我寫了一些類似如果campaign.save ... else render:action =>'new'並且它不工作。我還設置了flash來收集campaign.errors,並且它們顯示正常,但該廣告系列似乎不是'覆蓋'前一個。前一個是我定義的campaign = Campaign.new實例變量,用於使form_for工作。那有意義嗎? –

+0

您應該在兩個操作中使用相同的@變量。你也可以'如果@ campaign.valid?'而不是'保存' –

+0

是的,它看起來是正確的。 @變量是相同的,@ variable.valid?如果不是,則渲染:action =>'new'。我在一個字段中輸入asdfasfasdf,提交後,它會返回新的錯誤,但是原始字段沒有預先填充。我必須錯過一些非常簡單的事情 –

相關問題