我是ruby的新手,我正在開發一個項目。在routes.rb文件中,有一些我不明白的語法。更確切地說,我可以在這個文件中找到替代:瞭解routes.rb文件中符號的用法
get :account #with a symbol
get 'notes' #with no symbol
有什麼區別?我想:account
應該在其他地方定義,在路由過程中早點對吧?
我是ruby的新手,我正在開發一個項目。在routes.rb文件中,有一些我不明白的語法。更確切地說,我可以在這個文件中找到替代:瞭解routes.rb文件中符號的用法
get :account #with a symbol
get 'notes' #with no symbol
有什麼區別?我想:account
應該在其他地方定義,在路由過程中早點對吧?
get :account
(使用符號)和get 'account'
(使用字符串)在此上下文中完全相同。在你的路由中,符號將被Rails翻譯成字符串。
這只是一種編碼風格,我個人使用這些符號是因爲我喜歡看到IDE中的顏色,它可以幫助我更快地閱讀我的代碼。
並回答你的其他問題:不,你不需要在任何地方定義符號,那些不是一個方法或變量。你可以看到它們是一個常量,其值等於它們的名字。
編輯:如果它仍撲朔迷離,你可以閱讀的Ruby on符號這個漂亮的完整指南:
好的我閱讀了文檔。假設我想通過'POST'通過兩個輸入的方式傳遞一些變量:params [:id]和whatever [:id]。是否有可能爲':id'傳遞兩個不同的值? – user1611830
每個參數都轉到'params'。如果你想傳遞一個Hash,它可以通過'params [:something]'(或'params ['something']')來訪問。就像'params [:whatever]'returns =>'whatever []'。然後你可以打電話給你想要的任何鑰匙。所以你首先要定義'whatever [:id]',然後通過'POST'傳遞':id'和':whatever'。 – Doodad
@Doodad所以你不能使用':id'兩次? – user1611830
這不是亂碼,這是一個象徵 –
@YevgeniyAnfilofyev哦對不起我弄錯了!我更新了我的帖子 – user1611830
我認爲這是值得一看這個答案http://stackoverflow.com/a/11447568/2422778 –