如何以“插入”形式传递字段的默认值?

时间:2014-06-12 15:04:33

标签: meteor

如何在'插入'中传递字段的默认值形成的?

我正在使用Meteor的软件包:Autoform,Collections2和Simple-Schema。

我的流程是:

  1. 用户在页面上的列表中选择一些值,然后
  2. '插入'从打开开始,我希望使用用户在上一步中选择的值初始化一个字段。
  3. 无法弄清楚如何使用URL(或任何其他方式)传递参数。 问题是如何使用值初始化表单。

    假设我有一个网址:

    http://localhost:3000/activity/new/Sport
    

    =============== router.js:

    ...
    Router.map(function () {
        ...
        this.route('newActivity', {
            path: '/activity/new/:tag',
            data: function() {
                Session.set('tag', this.params.tag);
                return null;
            }
        });
        ...
    

    =============== 模型/ activity.js

    ...
    Activities = new Meteor.Collection("activities", {
        schema: {
            title: {
                type: String,
                label: 'название'
            },
            ...
            tag: {
                type: String,
                label: 'тэг'
            }
        }
    });
    

    ===== 模板/ avtibity.js

    ...
    Template.newActivity.helpers({
        defaultTag: function() {
            return Session.get('tag');
        }
    });
    ...
    

    ===== 模板/ activity.html

    ...
    <template name="newActivity">
        <h1>Create new Activity!</h1>
        {{#autoForm collection="Activities" id="insertActivityForm" type="insert"}}
            {{> afQuickField name="title"}}
            ...
            {{> afQuickField name="tag" value="   ??????    "}} // ? {{defaultTag}}
            ho ho ho {{defaultTag}}
        {{/autoForm}}
    </template>
    

    ```

1 个答案:

答案 0 :(得分:7)

感谢Eric Dobbertin:

  1. 您可以将值设置为等于返回所需值的帮助器({{&gt; afQuickField name =“tag”value = valueHelper}})
  2. 列表项您可以将doc设置为一个值设置为您想要的对象。就像你更新表格一样。
  3. https://github.com/aldeed/meteor-autoform/issues/210