如何使用bootstrap在rails视图中实现javascript?

时间:2013-05-24 07:00:24

标签: ruby-on-rails jquery-ui twitter-bootstrap

没有bootstrap就可以了,我可以使用

在特定的rails视图中定义
<script>
 $function(){

 });
</script>

但是如何使用bootstrap在rails视图中定义它?我没有完成相同的操作,也没有显示输出 - 但在源代码中我看到了上面的脚本行。

该脚本使用jQuery-UI和小册子jQuery。

谢谢!

1 个答案:

答案 0 :(得分:0)

您应该在javascript资源文件夹中添加javascript函数,然后在视图中调用该函数或为其创建一个帮助程序。看一下这个例子,为嵌套属性添加更多字段:

查看:

  <div class="form-inputs">
    <fieldset>
      <legend>Contact</legend>
      <%= f.input :name, :autofocus => true %>
      <%= f.input :email %>
      <%= f.input :vat_number %>
      <%= f.input :gender, :collection => [:male, :female] %>
      <%= f.input :birth_date,  :as => :date, :start_year => Date.today.year - 90,
        :end_year => Date.today.year - 12%>
    </fieldset>
    <%= f.simple_fields_for :addresses do |a| %>
      <%= render "address_fields", :f => a %>
    <% end%>
    <%= hidden_field_tag "last_id" %>
    <p><%= link_to_add_fields "Add Address", f, :addresses %> </p>
  </div>

助手:

  def link_to_add_fields(name, f, association)
    new_object = f.object.class.reflect_on_association(association).klass.new
    fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder|
      render(association.to_s.singularize + "_fields", :f => builder)
    end
    link_to_function(name, "add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")")
  end

和你的helper.js(在javascript资产中)

function add_fields(link, association, content) {
    var new_id = new Date().getTime();
    var regexp = new RegExp("new_" + association, "g");
    $(link).parent().before(content.replace(regexp, new_id));
    $(link).parent().append('<input type="hidden" name="click" value="true" />');
    $("#last_id").val(new_id);
}