2013-07-18 42 views
0

我是ruby的新手,我正在開發一個項目。在routes.rb文件中,有一些我不明白的語法。更確切地說,我可以在這個文件中找到替代:瞭解routes.rb文件中符號的用法

get :account #with a symbol 
get 'notes' #with no symbol 

有什麼區別?我想:account應該在其他地方定義,在路由過程中早點對吧?

+0

這不是亂碼,這是一個象徵 –

+0

@YevgeniyAnfilofyev哦對不起我弄錯了!我更新了我的帖子 – user1611830

+0

我認爲這是值得一看這個答案http://stackoverflow.com/a/11447568/2422778 –

回答

3

get :account(使用符號)和get 'account'(使用字符串)在此上下文中完全相同。在你的路由中,符號將被Rails翻譯成字符串。

這只是一種編碼風格,我個人使用這些符號是因爲我喜歡看到IDE中的顏色,它可以幫助我更快地閱讀我的代碼。

並回答你的其他問題:不,你不需要在任何地方定義符號,那些不是一個方法或變量。你可以看到它們是一個常量,其值等於它們的名字。

編輯:如果它仍撲朔迷離,你可以閱讀的Ruby on符號這個漂亮的完整指南:​​

+0

好的我閱讀了文檔。假設我想通過'POST'通過兩個輸入的方式傳遞一些變量:params [:id]和whatever [:id]。是否有可能爲':id'傳遞兩個不同的值? – user1611830

+0

每個參數都轉到'params'。如果你想傳遞一個Hash,它可以通過'params [:something]'(或'params ['something']')來訪問。就像'params [:whatever]'returns =>'whatever []'。然後你可以打電話給你想要的任何鑰匙。所以你首先要定義'whatever [:id]',然後通過'POST'傳遞':id'和':whatever'。 – Doodad

+0

@Doodad所以你不能使用':id'兩次? – user1611830