0

没有引导程序就可以了,我可以在特定的导轨视图中定义

<script>
 $function(){

 });
</script>

但是我如何使用引导程序在 Rails 视图中定义它?我没有做同样的事情,它没有显示输出 - 但在源代码中我看到了上面的脚本行。

该脚本使用带有小册子 jQuery 的 jQuery-UI。

谢谢!

4

1 回答 1

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);
}
于 2013-05-24T07:17:25.600 回答