2013-10-02 5 views
0

양식의 필드를 변경했을 때 formotion 양식을 서버에 제출하고 싶습니다. 누군가가 변경 콜백 또는 이와 비슷한 것을 알고 있습니까?Rubymotion : 양식 변경시 자동으로 양식 작성 양식 제출

내 양식 :

class SettingsScreen < PM::FormotionScreen 
    title "Settings" 
    tab_bar_item title: "Settings", icon: 'settings' 

    def table_data 
    { 
     sections: [ 
     { 
      title: "Settings", 
      rows: [ 
      { 
       title: "Start Date", 
       key: :start_date, 
       type: :date, 
       format: :medium 
      }, { 
       title: "End Date", 
       key: :end_date, 
       type: :date, 
       format: :medium 
      } 
      ] 
     } 
     ] 
    } 
    end 

    def on_load 
    self.form.on_submit do |form| 
     p "submitting!" 
    end 
    end 
end 

답변

1

한 가지 방법은 값을보고 RMQ을 사용하는 것입니다.

예 (안된)의 당신은 그것으로 무엇을 할 수 있는지 :

rmq(UITextView).on(:change) do |sender| 
    save_something @form.render 
end 

행에 문서화되지 않은 (내가 아는 한) on_change 방법있다,하지만 난을 얻을하는 방법을 완전히 확실하지 않다 첫 번째 장소의 행

https://github.com/clayallsopp/formotion/search?q=on_change&ref=cmdform

0

는 여기에 내가 일하고 있어요 현재 응용 프로그램에서 예입니다. Bubblewrap의 옵저버를 사용하고 있지만, RMQ가 똑같이 작동한다고 생각합니다. 당신은 그 관찰 블록에 당신이 좋아하는 모든 것을 넣을 수 있습니다. 또한 나는 Jamon이 일하기 위해 언급 한 문서화되지 않은 방법을 상기합니다. 그들은 제 특정한 필요를 위해 일하지 않았습니다. 실제 양식 외부에서 행을 가져 오는 것은 번거롭기는하지만 더할 나위없이 편리합니다.

section.build_row do |row| 
    row.title = "Percentage" 

    row.type = :static 
    row.value = @percentage.to_i.to_s + ' %' || '' 

    end 
    section.build_row do |row| 
    row.title = "" 
    row.key = :percentage 
    row.type = :slider 
    row.range = (1..100) 
    row.value = @percentage || 50 
    observe(row, "value") do |old_value, new_value| 
     row.previous_row.value = new_value.to_i.to_s + ' %' 
    end 
    end