2015-12-29 48 views
0

我想解析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_for/form_tag來獲取URL或控制器/動作

的form_tag 的form_tag(url_for_options = {},選擇= {},&塊)

的form_for 的form_for(記錄,選擇= {},&塊)

看起來我需要以某種方式獲得url_for_options和options對象出來並獲取url元素。有沒有簡單的方法來做到這一點,或是否有任何現有的工具可以實現這些功能?軌道是否有這種東西的內置功能?

+0

的''日誌可以給你 –

+0

感謝@RajarshiDas!你的意思是,如果我點擊這些表單鏈接控制檯日誌將輸出相應的控制器/操作? – TH000

+0

development.log或production.log –

回答

0

我不知道我是否正確理解你的問題,尤其是解析你的意見等部分,但你可以通過調用url_for來生成網址。

例如在Rails控制檯,您可以執行以下操作:

include Rails.application.routes.url_helpers 
default_url_options[:host] = "localhost" 
url_for @user # => "http://localhost/users/1" 
+0

我可以問一下「@user」來自哪裏,@user的值是多少? – TH000

+0

這只是另一個例子。在你的代碼中,你有'@ story'傳遞給'form_for' – phoet

相關問題