2016-07-07 2 views
0

私はこのようなフォームフィールドの値を設定しようとしている:私はフィールドにIDを見ることができるビューでのform_forフィールドの値

<%= form_for (@change_office_address), remote: true, format: :json, html: { class: :contact_form } do |f| %> 
    <%= f.text_field :city_id, class: 'form-control', value: @office.city.id, disabled: true %> 
    <%= f.submit, class: 'btn btn-default' %> 
<% end %> 

を、私は提出しようとしたとき、フォームは、私は検証が合格しないことを確認します。検証は次のようになります。私のスキーマで

class ChangeOfficeAddress < ApplicationRecord 
    belongs_to :city 
    validates :city_id, presence: true 
end 

city_idintegerに設定されています。私もf.text_fieldf.number_fieldに変更しようとしましたが、どちらも役に立たなかった。それで、何が間違っているのでしょうか?先にありがとう。

+0

無効なフィールドの値は送信されません。都市のIDを保持するためにいくつかの隠されたフィールドを使用する方が良い。 –

答えて

2

disabledの代わりにreadonly: trueを使用してください。 disabledのためにあなたのデータをサーバーに渡すことはありません。

<%= f.text_field :city_id, class: 'form-control', value: @office.city.id, readonly: true %>