我有一个应用程序,设置在一个控制器中使用形成,我有另一个控制器,它是一个带有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)
答案 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