これが現時点での私の _form.html.erb パーシャルですが、最初に行った (領域) ドロップダウンの選択に基づいてその要素を更新したいと考えています。
<%= form_for(@setting) do |f| %>
<div class="form">
<div class="fieldBlock">
<%= f.label :region%>
<%= f.select :region_id, options_from_collection_for_select(Region.all, 'id', 'region_code'),
:onChange => remote_function(:update => ":mobile, :telephone", :method => "get", :url => { :controller => :Settings, :action => :form_update, :id => :region_id}) %>
</div>
<div class="fieldBlock">
<%= f.label :city_id, "City" %>
<%= f.select :city_id, options_from_collection_for_select(City.all, 'id', 'name'), :prompt => 'select a city' %>
</div>
<div class="fieldBlock">
<%= f.label :mobile, "Mobile" %> <%= f.text_field :mobile%></div>
<div class="fieldBlock">
<%= f.label :telephone, "Telephone No" %> <%= f.text_field :telephone %></div>
<div class="fieldBlock">
<% f.submit "Update Contact" %>
At present this is the controller method that helps in prepopulating:
def index
setting = Setting.find_by_user_id(current_user.id)
if setting.blank?
@setting = City.first.dup
else
@setting = setting
end
終わり
リージョン ドロップダウン リストの値を選択する際に ajax の方法でフォームを更新するにはどうすればよいですか?
さて、ここに私の form_update アクションがあります:
def form_update(id)
setting = Setting.find_by_region_id(id)
respond_to do |format|
if setting.blank?
@setting = Setting.first.dup
format.json {@setting}
else
@setting = setting
format.json {@setting}
end
end
終わり
また、prototype-Rails を使用して remote_function を機能させる必要がありました。まだ私のフィールドは更新されていません。ここで何が欠けていますか..