【问题标题】:Grails UrlMapping - cannot set params.id for controllerGrails UrlMapping - 无法为控制器设置 params.id
【发布时间】:2010-04-21 19:22:51
【问题描述】:

我正在尝试创建一个 UrlMapping 以将一些静态 URL 映射到控制器操作,但我似乎无法设置 params.id。我正在研究Grails in Action,所以我不确定这里出了什么问题。

代码:

class UrlMappings
...
static mappings={
    "/timeline/chuck_norris"(controller:'post',action:'timeline',id:'chuck_norris')
...
}

在 PostController 中

def timeline{
   def user = User.findByUserId(params.id)
   [user:user]
}

错误: No signature of method: ...findByUserId() is applicable for argument types: () values: []

上面的代码有什么问题?我正在使用 grails 1.2.2。

【问题讨论】:

    标签: model-view-controller grails url-mapping


    【解决方案1】:

    你需要使用闭包:

    "/timeline/chuck_norris"{
                controller = 'post'
                action = 'timeline'
               id = 'chuck_norris"
            }
    

    或者像这样:

    "/timeline/$id"{
                   controller = 'post'
                    action = 'timeline'
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-15
      • 1970-01-01
      • 2012-10-05
      • 1970-01-01
      • 2014-08-15
      • 2013-04-24
      • 1970-01-01
      • 2014-10-06
      相关资源
      最近更新 更多