簡體   English   中英

jQuery line函數未定義

[英]jQuery line function is not defined

我在這行$(this).before($(this).data('daw_preguntaes').replace(regexp, time));}有一個TypeError: $(...).data(...) 我正在使用Railscast 196,但是此功能不會加載我要顯示的新字段。 我不知道要在data(fields)放入什么

jQuery ->
        $('form').on 'click', '.add_fields', (event) ->
        time = new Date().getTime()
        regexp = new RegExp($(this).data('id'),'g')
        $(this).before($(this).data('fields').replace(regexp,time))
        event.defaultPrevented()

瀏覽視圖

<%= f.fields_for :questions do |builder| %>
  <%= render 'questions_fields', f: builder %>
<% end %>
<%= link_to_add_fields "New question",f,:questions  %>

問題檢視

<fieldset>
    <%= f.label :content, 'Question' %>
    <%= f.text_area :content %>
    <%= f.check_box :_destroy %>
    <%= f.label :_destroy, "Delete" %>
</fieldset>

在RailsCasts#403中,Ryan使用CoffeeScript文件中的編輯代碼。 我將_questions_fields命名為_question_fields

CoffeeScript

$(document).on 'click', 'form .remove_fields', (event) ->
  $(this).prev('input[type=hidden]').val('1')
  $(this).closest('fieldset').hide()
  event.preventDefault()

$(document).on 'click', 'form .add_fields', (event) ->
  time = new Date().getTime()
  regexp = new RegExp($(this).data('id'), 'g')
  $(this).before($(this).data('fields').replace(regexp, time))
  event.preventDefault()

幫手

def link_to_add_fields(name, f, association)
    new_object = f.object.send(association).klass.new
    id = new_object.object_id
    fields = f.fields_for(association, new_object, child_index: id) do |builder|
        render(association.to_s.singularize + "_fields", f: builder)
    end
    link_to(name,'#', class: "add_fields", data: {id: id, fields: fields.gsub("\n","")}) 
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM