1

フォームでドロップダウンが更新されないようにしようとしています。

現在、フォームに次の行があります。

<%= f.select :permission, options_for_select([['Admin', 'admin'], ['Read Only', 'readonly'], ['Editable', 'editable']], {:disabled => @permissions_disabled}) %>

私の編集コントローラーメソッドには以下が含まれています:

@permissions_disabled = params[:id].to_i == current_user.id.to_i
p @permissions_disabled

ログで 1@permissions_disabled1 が true であることを明確に確認できますが、フォームを編集すると、ドロップダウンで新しい値を選択できます。

ここで何が間違っていますか?

4

1 に答える 1

8

select5 つのパラメーターを受け入れます。4 番目のパラメーターは、ヘルパーのオプションのセットです。5 つ目は、class や id などの html オプションです。それに渡す必要があると思います

<%= f.select :permission, options_for_select([['Admin', 'admin'], ['Read Only', 'readonly'], ['Editable', 'editable']], {}, {:disabled => @permissions_disabled}) %>

options_for_select更新:コードに が表示されませんでした。を使用している場合は必要ありません。使用してselectいる場合にのみ使用する必要がありますselect_tag

<%= f.select :permission, [['admin', 'Admin'], ['readonly', 'Read Only'], ['editable', 'Editable']], {}, {:disabled => @permissions_disabled} %>
于 2013-03-11T06:45:39.383 に答える