作者apua (Apua)
看板Ruby
标题Re: [问题][RoR] method_missing的使用
时间Tue Mar 2 16:11:21 2010
问题解决了
※ 引述《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)
1F:→ godfat:id2name 是 Symbol 的 method, String 没有。也不建议... 03/02 16:56