Re: [問題][RoR] method_missing的使用

看板Ruby作者 (Apua)時間15年前 (2010/03/02 16:11), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/2 (看更多)
問題解決了 ※ 引述《apua (Apua)》之銘言: : 環境: : Ruby 1.8.7 Rails 2.3 : 狀況: : 我想要在網址輸入 網址/welcome/hello/<id> 首先這邊錯了,應該是/welcome/<action> ^^^^^^^^^^ 輸入不存在的action才會跑method_missing : 就跑出 hello.rhtml 的內容: "Hi, id" : welcome_controller.rb 內容如下.... : class WelcomeController < ApplicationController : def hello : end : def method_missing(mId) : @name=mId.id2name; 這邊改用to_s ^^^^^^^ 難道Rails2.3不能用id2name? 使用id2name會出現以下錯誤訊息(/welcome/apua的狀況) NoMethodError in WelcomeController#apua undefined method `id2name' for "apua":String RAILS_ROOT: /home/apua/mysite Application Trace | Framework Trace | Full Trace app/controllers/welcome_controller.rb:5:in `method_missing' .... .. : render :template=> "welcome/hello" : end : end : hello.rhtml 內容如下.... : <h1>Hi, <%=@name %></h1> : 這是從別人的講義抄過來的,我猜想是版本差異造成語法不能執行, : 但是我找不到解決方法。 : 文件來源: : http://0rz.tw/y0g7X -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.233.40 ※ 編輯: apua 來自: 140.119.233.40 (03/02 16:12)

03/02 16:56, , 1F
id2name 是 Symbol 的 method, String 沒有。也不建議...
03/02 16:56, 1F
文章代碼(AID): #1BZCWh5G (Ruby)
文章代碼(AID): #1BZCWh5G (Ruby)