没有引导程序就可以了,我可以在特定的导轨视图中定义
<script>
$function(){
});
</script>
但是我如何使用引导程序在 Rails 视图中定义它?我没有做同样的事情,它没有显示输出 - 但在源代码中我看到了上面的脚本行。
该脚本使用带有小册子 jQuery 的 jQuery-UI。
谢谢!
没有引导程序就可以了,我可以在特定的导轨视图中定义
<script>
$function(){
});
</script>
但是我如何使用引导程序在 Rails 视图中定义它?我没有做同样的事情,它没有显示输出 - 但在源代码中我看到了上面的脚本行。
该脚本使用带有小册子 jQuery 的 jQuery-UI。
谢谢!
您应该在您的 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);
}