2

フォームに simple_form を使用し、いくつかの URL パラメーターを渡してフォームに事前入力しています。

このコードは正常に動作します

<%= f.input :first_name, :label => 'First Name', :input_html => { :value => params['first'] } %>

URL の使用

http://localhost:3000/charities/new?first=Bob

このHTMLを出力するもの

<input class="string required" id="charity_first_name" name="charity[first_name]" size="50" type="text" value="Bob" />

ただし、フォーム サーバー側の検証が失敗した場合、ページはリロードされますが、事前入力された値はなくなっていますか? これはレンダリングされた HTML です

<input class="string required" id="charity_first_name" name="charity[first_name]" size="50" type="text" />

サーバー側の検証が失敗してページがリロードされた場合に、simple_form を事前設定し、それらの値を保持する方法をアドバイスできる人はいますか?

ありがとうございました。

4

1 に答える 1

2

検証で機能させたい場合は、次のようにコントローラーにオブジェクト値を事前設定する必要があります。

@charity = Charity.new
@charity.first_name = params[:first]
于 2012-06-14T19:34:07.097 に答える