在部分包含选项后获取选项结束标记数组
Getting array of option closing tags after partial containing options
我的视图中有动态 select 个框
../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.咖啡
$ ->
$(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.咖啡
$("#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 %>
一切都很好,除了在视图中我在选项元素之后的 select 元素中得到了一组选项结束标签
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
...
<%= @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 %>
当您使用 <%= %> 时,它会在模板文件中打印结果。确保将其排除在循环之外,否则您将得到这些工件。
这是 ERB 标签上的一些 great documentation。
我的视图中有动态 select 个框
../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.咖啡
$ ->
$(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.咖啡
$("#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 %>
一切都很好,除了在视图中我在选项元素之后的 select 元素中得到了一组选项结束标签 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
...
<%= @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 %>
当您使用 <%= %> 时,它会在模板文件中打印结果。确保将其排除在循环之外,否则您将得到这些工件。
这是 ERB 标签上的一些 great documentation。