2011-01-16 15 views
0

における条件文は、私が見て、このように動作しますURL paramsはを受け付けフォーム(ブックマークレットをサポートするために)持っている場合を除き:再レンダリングするときの場合(ただし、/IFのform_for/ERB

<%= f.url_field :url, :value => params[:u] %> 

を検証エラーは、例えば、コンテンツが取り除かれる

私が最初の場所でのparamsがある場合:value =>ようにのみレンダリングされ、このような何かを入れてやってみたいこと:。

<%= f.url_field :url, :value => params[:u] if params[:u] %> 
は、

もちろんこれはフィールドをレンダリングすることさえありませんし、間違っています。

if/unless条件をERBブロックに追加するにはどうすればよいですか?無限の検索はあまり立っていませんが、おそらく間違ったことを探しています。

答えて

0

Farnoy's answerは非常に近かったが、より具体的には:@resourceとして

<%= f.url_field :url, :value => (params[:u] || @resource[:url]) %> 

モデルオブジェクトでした。

1

<%= f.url_field @url %> 

とあなたのコントローラであなたのビューでこれを試してみてください

(私はあなたの質問を読み違える。おそらくない答え...)

<%= f.url_field :url, :value => (params[:u] if params[:u]) %> 
+0

奇妙なことに、これはtext_areaでは機能しますが、どのフィールドでも機能しません(まだ空白です)。 – innonate

+0

私は最良の方法はコントローラーを使用してパラメーターを定義することだと考えています。 – halfcube

0

...これを試してみてください置く

@url = Url.new(params[:u]) 

それwいいえ、paramsがnilでない限り、フィールドが埋められたフォームがあります。ワンライナー用

0

、試してみてください。

<%= f.url_field :url, :value => (params[:u] || 'any_other_value_or_just_nil') %>