0

사용자가 주문할 수있는 이미지 목록이 있습니다.Sortable_element with RJS가 작동하지 않습니다.

사용자가 이미지를 업로드 할 때 목록을 계속 정렬 가능하게하고 싶습니다. http://kpumuk.info/ruby-on-rails/in-place-file-upload-with-ruby-on-rails/

이 도와주세요 :

나는 여기에 설명 된 유사한 업로드를 사용하고 있습니다.

<% form_for [:admin, @new_image], :html => { :target => 'upload_frame', :multipart => true } do |f| %> 
    <%= hidden_field_tag :update, 'product_images'%> 
    <%= f.hidden_field :image_owner_id %> 
    <%= f.hidden_field :image_owner_type %> 
    <%= f.file_field :image_file %><br /> 
    or get image from this URL: <%= f.text_field :image_file_url %> 
    <%= f.hidden_field :image_file_temp %><br /> 
    <%= f.submit "Upload Image" %> 
    <% end %> 

그리고 컨트롤러보기 :

def create 
    @image = Image.new(params[:image]) 
    logger.debug "params are #{params.inspect}" 
    if @image.save 
     logger.debug "initiating javascript now" 
     responds_to_parent do 
     render :update do |page| 
      logger.debug "javascript test #{sortable_element("product_images", :url => sort_admin_images_path, :handle => "handle", :constraint => false)}" 
      page << "show_notification('Image Uploaded');" 
      page.replace_html params[:update], :partial => '/admin/shared/editor/images', :locals => {:object => @image.image_owner, :updated_image => @image} 
      page << sortable_element("product_images", :url => sort_admin_images_path, :handle => "handle", :constraint => false) 
     end 
     end 
     #render :partial => '/admin/shared/editor/images', :locals => {:object => @image.image_owner, :updated_image => @image} 
    else 
     responds_to_parent do 
     render :update do |page| 
      page << "show_notification('Image Upload Error');" 
     end 
     end 
    end 
    end 

또는, 질문을 바꿔하기 :

이 실행 :

을 여기

뷰 파일에 업로드 코드입니다
page.replace_html params[:update], :partial => '/admin/shared/editor/images', :locals => {:object => @image.image_owner, :updated_image => @image} 
    page << sortable_element("product_images", :url => sort_admin_images_path, :handle => "handle", :constraint => false) 

정렬 가능 목록 기능을 추가하지 않습니다.

도와주세요은

답변

0

발견!

대신 :

page.replace_html params[:update], :partial => '/admin/shared/editor/images', :locals => {:object => @image.image_owner, :updated_image => @image} 

사용

page.replace params[:update], :partial => '/admin/shared/editor/images', :locals => {:object => @image.image_owner, :updated_image => @image} 
0

내가 문제가 아니라 정렬이 때 페이지가 처음로드를 만들어집니다 것 같아요 감사합니다. 나는이 문제에 2 ~ 3 번이나 뛰어 갔다. 목록에 새 요소를 추가하면 정렬 가능한 함수를 다시 호출하여 정렬에 새 요소를 포함시켜야합니다.

prototype/scriptaculous를 넘지는 않지만 sortable 요소가 목록에 요소를 추가하는 이벤트를 수신하는 방법이있을 수 있습니다. jQuery에는 DOM에 추가 된 새로운 요소에 응답하는 리 바인딩 이벤트 세트가 있으며 다른 라이브러리에서도 비슷한 이벤트가있을 수 있습니다.

+0

그래서 ... 당신은 무엇을 제안합니까? 페이지 << alert ('damn rails bugs') "는 경보를 호출했지만 어떻게 든 페이지 << sortable_element ("product_images ", : url => sort_admin_images_path, : handle =>"handle ", : constraint => false) 아무 것도 호출되지 않습니다. 어떻게 해결 했습니까? – jaycode

관련 문제