在Rails中,你如何指示form_tag提交到哪里?

8 浏览
0 Comments

在Rails中,你如何指示form_tag提交到哪里?

我对Rails还很陌生,不确定如何指定form_tag提交的位置。在上面的示例中,这个表单是否将自己提交到与渲染此视图的同一个控制器中的"checkout_submit"动作?

0
0 Comments

问题的原因是在Rails中,form_tag方法用于创建一个HTML表单,并指定表单提交的目标地址。但是,如何指定目标地址并没有在文档中明确说明。

解决方法是通过在form_tag方法中传递一个参数来指定目标地址。例如,可以使用form_tag('/posts')来指定表单提交到/posts地址。还可以使用form_tag('/posts/1', :method => :put)来指定表单提交到/posts/1地址,并使用PUT方法进行提交。如果需要支持文件上传,可以使用form_tag('/upload', :multipart => true)来指定目标地址,并设置enctype属性为multipart/form-data。

此外,在form_tag方法中还可以使用块来生成表单内容。例如,可以使用<% form_tag '/posts' do %>来指定表单提交到/posts地址,并在块中生成表单内容。

在文档中提到的<% end -%>中的"-%"是一种特殊的标记,用于在生成HTML代码时去除多余的空格和换行符。这可以使生成的HTML代码更加简洁。

通过查看stackoverflow上的链接,可以了解到"<% end -%>"和"<% end %>"之间的差异。"<% end -%>"会在生成HTML代码时去除多余的空格和换行符,而"<% end %>"则不会进行这种处理。

在Rails中使用form_tag方法创建HTML表单时,可以通过传递参数来指定表单提交的目标地址。还可以使用块来生成表单内容。在生成HTML代码时,可以使用"<% end -%>"来去除多余的空格和换行符。

0