代码之家  ›  专栏  ›  技术社区  ›  oldhomemovie

关于窗体的问题

  •  2
  • oldhomemovie  · 技术社区  · 15 年前

    什么是 [@post,comment.new] 结构的字面意思是?我正在使用它(在播客中看到,或者其他地方看到),但我还是不太明白它是什么意思?如果我们点击Submit(提交)按钮,实际会发生什么(当然,添加了注释,但我对内部机制很感兴趣,以及它如何与所提到的结构相关联)?

    <% form_for [@post,Comment.new] do |f| %>
       <p>
          <%= f.label :message %><br />
          <%= f.text_area :message %>
       </p>
       <p>
          <%= f.submit 'Post comment' %>
       </p>
    <% end %>
    
    1 回复  |  直到 15 年前
        1
  •  0
  •   tadman    15 年前

    尽管在标准文档中并不清楚,但有些人已经发表了一些有用的评论,阐明了这项功能的作用。例子: http://apidock.com/rails/ActionView/Helpers/FormHelper/form_for

    这是为了生成一个位于正确名称空间中的路由,或者因为到特定资源的路径包含两个组件。

    如果你引用的话,路线应该是沿着以下路线:

    /posts/:post_id/comments/
    

    编辑帖子评论时:

    /posts/:post_id/comments/:id
    

    这与为提供评论而生成的路由形成了对比。仅限新路由:

    /comments/