委托Ramaze的另一个行动

时间:2012-05-11 15:19:36

标签: ruby ramaze

如果传递了id,我想委托Index操作中的Show操作。我似乎无法让它发挥作用,我在这里做错了什么?

require 'ramaze'
require 'slim'

class UsersController < Ramaze::Controller
    engine :slim

    def index(id=nil)
        if id
            render_full "/users/show/#{id}" #id was passed, "show" the item
        end
        #alright just render the "index.slim" here...
    end

    def show(id)
        u=User[id] #ORM stuff...
    end
end

Ramaze.start

2 个答案:

答案 0 :(得分:1)

你必须只调用return render_full(...)而不是render_full(),如果没有这个,无论是否指定了ID,都会执行下面的代码。

答案 1 :(得分:1)

您可以拨打return show(id)而不是render_full "/users/show/#{id}"