1

ガイドhttp://guides.joosy.ws/guides/blog/forms.htmlに従って、新規および編集投稿用のフォームを作成しようとしています

だから私templates/pages/posts/_form.jst.hamlcはフォームで作成し、コードを追加しますpages/posts/new.js.coffee:

Joosy.namespace 'Posts', ->

  class @NewPage extends ApplicationPage
    @layout ApplicationLayout
    @view   'new'

  elements:
    'rawForm': 'form'

  @fetch (complete) ->
    @data.post = Post.build()
    complete()

  @afterLoad ->
    @form = Joosy.Form.attach @rawForm,
      resource: @data.post
      success: (data) => @navigate '/'

しかし、「内なる魔法」は私には効きません.. フォローhttp://localhost:3000/blog#!/posts/newすると、新しい投稿のフォームが表示されます. このフォームは、通常のフォームとして送信されます。つまり、何かを入力して保存を押すと、新しいページが開きますhttp://localhost:3000/blog?post%5Btitle%5D=test&post%5Bbody%5D=test#!/posts

だから、私はこのステップをやめて、それをどうするか考えていません..

PS この質問に 'joosy' のタグを付け直すことができる場合は、そうしてください。作者は joosy フレームワークに関する質問に「joosy」タグでここに答えると約束していますが、評判が悪いためこのタグを作成できません

4

1 に答える 1

4

次の 3 つのことを確認する必要があります。

  1. コンソールで全体的なエラーを確認してください。afterLoad の前に失敗する場合があります。そして、これはエラーを見ない限り黙って死ぬ JavaScript です。
  2. afterLoad に console.log @rawForm を追加して、正しい DOM 要素がバインドされるようにしてください。
  3. コードを実際の例と比較してみてください: https://github.com/roundlake/joosy-example

1/2 が機能せず、時間があまりない場合は、このページが次のページのコピーのように見えるテンプレートを見せてください: https://github.com/roundlake/joosy-example/blob/ master/app/assets/javascripts/blog/pages/posts/new.js.coffee . しかし、後者は機能することが知られています。だからトラブルはここではありません。

于 2012-06-05T22:51:44.117 に答える