本人新手,我最近在看http://guides.rubyonrails.org/按照上面的案例在做实验,其中对于
<%= render 'form' %>
<%= link_to 'Show', @post %> | <%= link_to 'Back', posts_path %> 是如何链接到 Update 这个 Acion 这个地方不是很明白,请问是否 render 'form' 这句的作用
一般 _form.html.erb
中会有 <%= form_for @post... %>
,生成表单时会根据 @post 来自动生成 update action 为 form target。
#2 楼 @douya0808 您好,@post这个变量也应该是一个 Post 对象啊,究竟是怎么生成表单的时候根据@post来自动生成出 update action 呢?
#5 楼 @douya0808 对没错啊,在 edit 这个 action 中链接到 edit 的 html。然后导入了_form.html.erb 这个这个页面,然后页面上有个 form for 表单提交,提交的代码可以省略成<% form_for(@post) do|f| %> ... <% f.submit %> 在这段代码里面没有提到如何将一个 form 表单给提交到 update atcion 上啊?
在编辑的页面地址栏的 url 是http://127.0.0.1:3000/students/28/edit这种形式 在更新的页面地址栏是这种形式http://127.0.0.1:3000/students/28 你可以看一下 Http 的四种动作和什么叫 RESUful 路由 应该就明白了
#8 楼 @douya0808 哈哈我才是菜鸟肉鸡呢。确实没搞清楚,我看了下源代码关于新增一个 post 中也是用的_from 这个页面,然后这个页面上的决定是新增还是修改取决于一个 form_for 这个方法怎么写的。难道要看源代码去?
rails 认为:controller=>'student,' :action=>'update'这种调用方法方式不是很方便 于是加入了 RESTful 路由 根据 URL 的不同形式自动执行不同的动作 上图走起~http://dennis-zane.iteye.com/blog/64513
对 写了这个路由系统就会给你自动生成 8 个路径 posts_url 和 posts_path 对应于 index 和 create 这两个 action new_post_url 和 new_post_path 对应于 new 这个 action edit_post_url 和 edit_post_path 对应于 edit 这个 action post_url 和 post_path 对应于 show,update,destroy 这三个 action 然后具体是其中的哪个 action 就看 http 的动作了
请问要想在这个 form 表单 submit 的时候校验文本框是否为空,校验代码该写在哪里?我写<%=f.submit onclick="validate()" %>它不识别 onclick 啊