我不确定为什么动态调用我的表单部分时没有调用Chosen Plugin 。
相对宝石 -
rails, 3.1.0
cancan, 1.6.7
dynamic_form, 1.1.4
simple_form, 2.0.1
jquery-rails
设想 -
我有一个名为的页面/index
,您可以添加一个House
,Dog
或Cat
. 该页面一开始是空白的,但侧面有链接,您可以单击这些链接以动态调出其中一个表单。这些形式是它们自己的部分。
狗控制器
def new
@dog = Dog.new
respond_to do |format|
format.js
end
end
狗/_form.html.erb
<%= simple_form_for(@dog, :remote => true, :html => { :class => 'form-horizontal span8' }) do |f| %>
<%= render :partial => "shared/error_message", :locals => { :f => f } %>
<%= f.association :house, :prompt => "Select a House", :input_html => { :id => "house-select", :class => "span4" } %>
<%= f.button :submit, 'Done', :class => 'btn-primary span2' %>
<% end %>
页面控制器
def index
@cats = current_user.cats.all
@dogs = current_user.dogs.all
respond_to do |format|
format.html
end
end
页面/index.html.erb
<li><%= link_to "Dog", new_dog_path, :remote => true %></li>
<li><%= link_to "Cat", new_cat_path, :remote => true %></li>
<div id="generate-form">
<div class="ajax-loader"></div>
</div>
狗/new.js.erb
$("#generate-form").html("<%= escape_javascript(render(:partial => 'dogs/form', locals: { dog: @dog })) %>");
所有这些代码都成功地在单击链接时显示所选表单。我的狗模型和猫模型一样。这些是选择插件问题的问题。现在为什么在任何一种形式出现时都没有检测到 Chosen 插件?
回答
狗/new.js.erb
$("#generate-form").html("<%= escape_javascript(render(:partial => 'dogs/form', locals: { dog: @dog })) %>");
$('.house-select').chosen();