rubymotion- formotion&渲染数据显示在tableview上

时间:2014-03-31 19:37:53

标签: rubymotion

我有一个应用程序,设置在一个控制器中使用形成,我有另一个控制器,它是一个带有tableview子类的uivuewcontroller,我希望表单控制器中的信息出现在我的tableview上。我也使用cdq来存储数据。

下面是我的代码示例,不确定我尝试这样做的方式是否正确。

def init
@form = Formotion::Form.new({
persist_as: :post,
sections: [{
  title: "post",
  rows: [{
    title: "name",
    key: :name,
    placeholder: "example name",
    type: :string,
    input_accessory: :done,
    }
...
{
      rows: [{
      title: "Post",
      type: :submit,
    }]
@form.on_submit do |form|
  process_info(form)
end
super.initWithForm(form)
end


def process_info(form)
  data = form.render
end

任何使用tableview子类在我的另一个uiviewcontroller上显示的示例代码或步骤将不胜感激。

- 编辑 -

继承人我在处理信息方法中添加的内容

def process_info
data = form.render
[:name,:example,:example].each { |prop|
PostScreenController.controller.send(prop.to_s + "="  , form.render[prop])
}
self.navigationController.dismissViewControllerAnimated(true, completion:lambda{})
end

要添加的另一件事是PostScreeController是带有tableview的控制器,我正在尝试使用formotion数据填充。

我在终端

中收到此错误消息
Terminating app due to uncaught exception 'NoMethodError', reason: 'post_controller.rb:95:in `block in process_info': undefined method `controller' for PostScreenController:Class (NoMethodError)

1 个答案:

答案 0 :(得分:0)

这是我使用的一个。非常相似。我只是认为你传递了一些不太正确的变量。即:将表单设置为实例变量,然后将标准变量传递给process_info方法。希望这可以帮助。 :)

def init
  self.initWithForm(new_form)
end

def new_form
  form = Formotion::Form.new({
    persist_as: :post,
    sections: [{
      title: "post",
      rows: [{
        title: "name",
        key: :name,
        placeholder: "example name",
        type: :string,
        input_accessory: :done,
        },
      # ....
   {
    rows: [{
     title: "Post",
     type: :submit,
    }]]

  form.on_submit do |f|
    process_info
  end

  form
end

def process_info
  data = form.render
end