0

我有動態的選擇框在我看來部分含有選項後選擇關閉標籤的獲取陣列

../diys/_form.htmlerb

 ... 
     <%= f.fields_for :attached_vehicles do |av| %> 
     <p>Select make</p> 
     <%= av.select :make, options_for_select(@makes.collect { |make|[make.make_name, make.id] }, 0), {}, { id: 'makes_select' } %><br> 
     <p>Select model</p> 
     <%= av.select :model, (render "make_models/make_model"), {}, { id: 'models_select' } %><br> 
     <% end %> 
     ... 

這將啓動上改變

咖啡腳本

../assets/javascripts/diys.coffee

$ -> 
    $(document).on 'change', '#makes_select', (evt) -> 
    $.ajax 'update_make_models', 
     type: 'GET' 
     dataType: 'script' 
     data: { 
     make_id: $("#makes_select option:selected").val() 
     } 
     error: (jqXHR, textStatus, errorThrown) -> 
     console.log("AJAX Error: #{textStatus}") 
     success: (data, textStatus, jqXHR) -> 
     console.log("Dynamic make select OK!") 

這將啓動

../views/diys/update_make_models.coffee

$("#models_select").empty() 
    .append("<%= escape_javascript(render "make_models/make_model") %>") 

這使得局部

../views/make_models/make_model.html.erb

<%= @models.collect do |models| %> 
    <option val="<%= models.id %>"><%= models.make_model_name %></option> 
<% end %> 

和一切順利,但鑑於我的選項元素 like this後獲得選擇元素中選擇關閉標籤的數組。

這也是從我

一些地方../controllers/diys_controller.rb

... 
def update_make_models 
    @models = MakeModel.where("make_id = ?", params[:make_id]) 
    respond_to do |format| 
     format.js 
    end 
end 

def new 
    @diy = Diy.new 
    @step = @diy.steps.new 
    @diy.attached_vehicles.new 
    @step.add_images_to_steps.new 
    @makes = Make.all 
    @models = MakeModel.where("make_id = ?", Make.first.id) 
end 
... 
+0

爲什麼你要求爲腳本,而不是HTML嗎? – charlietfl

回答

2
<%= @models.collect do |models| %> 
    <option val="<%= models.id %>"><%= models.make_model_name %></option> 
<% end %> 

應該

<% @models.collect do |models| %> 
    <option val="<%= models.id %>"><%= models.make_model_name %></option> 
<% end %> 

當您使用<%= %>它打印出結果在模板文件。一定要離開它,你的循環或者你會得到這些文物。

下面是一些great documentation上ERB標籤。

+0

噢噢噢,是的!謝謝! –

相關問題