我正在创建一个自定义的SimpleForm输入。它使用javascript模式弹出窗口来选择值。
如果我在表单视图中包含模态部分,我基本上可以使用它,但我希望自定义输入将部分推送到模板。
然而,我无法让它发挥作用。我正在尝试这个,但它没有正确地呈现部分。
class ProductCategoryImageSelectInput < SimpleForm::Inputs::CollectionSelectInput
def input
html = ''
html << '<a href="#myModal" role="button" data-toggle="modal">Launch demo modal</a>'
File.open("#{Rails.root}/app/views/product_categories/_browse_modal.html.erb", 'r') do |f|
html << f.read
end
end
end
有什么想法?
修改
我显然对于发布屏幕截图的用户来说太新了,但这里是指向功能差异的链接:
当我在表单中嵌入模态代码时,我得到了这个,这是所需的功能: working
当我尝试将模态代码放入自定义输入时,我得到了这个: not working
答案 0 :(得分:6)
您还可以使用分配给名为SimpleForm::FormBuilder
的实例变量的@builder
实例从自定义输入中呈现部分:
class ProductCategoryImageSelectInput < SimpleForm::Inputs::CollectionSelectInput
def input
@builder.template.render(partial: 'product_categories/browse_modal', locals: { foo: 'bar'})
end
end
答案 1 :(得分:0)