在我的开拓者细胞中,我呈现出一种相当动态的形态。我想做这样的事情:
概念/ card_form /视图/ _deck_form.erb *
<%= simple_form_for [parent,card] do |f| %>
<div class='row'>
<div class='col-md-6'>
<%= render '_target_sentence', locals: { f: f } %>
</div>
概念/ card_form /视图/ _target_sentence.erb
<%= f.input :target_sentence_text,
input_html: { class: 'target-sentence', value: card.target_sentence.sentence },
label: "#{target_language} Sentence" %>
_target_sentence 部分还有更多内容,但我在这里对其进行了简化。问题是我无法通过f表单构建器
上面的代码给出了:
wrong number of arguments (given 2, expected 0..1)
另一种变化:
<%= render '_target_sentence' %>
undefined local variable or method `f' for #<CardForm::Cell:0x007fc8eb7eaa48>
答案 0 :(得分:1)
我非常强烈建议在使用Cell时避免使用partials。
使用Cell的一个主要原因是不使用partials。我建议的是创建一个名为TartgetSentence的Cell,它将使用params,并创建&#34; partial&#34;查看,然后调用此单元格而不是您正在执行的render "_target_sentece"
。
单元格是ViewObjects,因此您应将它们视为对象。根据需要定义一次,然后构建你的&#34; master&#34;单元格和这些视图对象的相应视图,然后在需要时调用它们。这部分原因是它们比部分速度快。
P.S .: 欢迎您前来我们官方的Gitter频道为您提供Trailblazer - 您可以更快地获得帮助。 https://gitter.im/trailblazer/chat