2017-12-24 7 views
0

子タグ内のDotLiquidのフォームタグに渡されたオブジェクトにアクセスしたいと考えています。このような何か:textinputタグはrequestObjectnameフィールドを探し、テキスト入力フィールドに値を入れDotLiquidのサブタグコンテキスト(フォームあり)

{% form '/action' requestObject %} 
    {% textinput Name %} 
    <button type="submit">Create Request</button> 
{% endform %} 

。私の液体食べ物はむしろ錆びているので、もし私がこのすべてが間違っているとすれば、私は自分が何であるか、そして私がより良くなるために必要なことについて、一貫して叫んでいます。

答えて

1

これは簡単にContextStackとタグレンダラで行われます。

public class Form : Block 
{ 
    // public override void Initialize... 
    public override void Render(Context context, TextWriter writer) 
    { 
     context.Stack(() => 
     { 
      context["form_obj"] = new FormObject(); 
      result.Write("<form>"); 
      base.Render(context, result); 
      result.Write("</form>"); 
     } 
    } 
} 

それに渡されたアクションを実行する前に、Stackは、新しいハッシュ変数スタックをプッシュする(つまり、未設定の変数のためにチェーンを検索します)最後にそれをポップします。変数のローカライズされた範囲に最適です。

関連する問題