我想解析erb文件中的form_for和form_tag语句,以确定它们发布到哪个URL或将调用哪个控制器/操作。
例如,给定一个“.html.erb”文件,我想得到所有“<%= form_for%>”标记出来,以某种方式解析它,并在我点击提交此表单后了解将调用哪个确切的控制器/操作对。例如,以下文件https://github.com/jcs/lobsters/blob/master/app/views/stories/new.html.erb 第7行,“<%= form_for @story do | f |%>”,我可以通过运行一行代码来确定它将映射到哪个控制器/操作对吗?就像“routes.recognize_path'form_for @story do | f |'”这样的事情?
的form_tag form_tag(url_for_options = {},options = {},& block)
的form_for form_for(record,options = {},& block)
看起来我需要以某种方式获取url_for_options和options对象并获取url元素。有没有简单的方法可以做到这一点,还是有现成的工具可以实现这些功能? rails有什么内置功能吗?
答案 0 :(得分:0)
我不知道我是否理解你的问题,尤其是解析你的观点等部分,但你可以通过调用url_for
来生成网址。
include Rails.application.routes.url_helpers
default_url_options[:host] = "localhost"
url_for @user # => "http://localhost/users/1"