Grails won't retrieve single item from list using get(params.id) -


i have table input information displayed, when click name of want go new page displays item clicked , not everything.

here controller...

class recipecontroller {  def index() {     def recipe = recipes.list() //recipes grails domain     [recipe: recipe] }  def newrecipeform() {  }  def createrecipe()  {     def r = new recipes(name: params.name, course: params.course, diet: params.diet)     r.save()     redirect(action:"index") }  def deleterecipe()  {     def r = recipes.get(params.id)     r.delete()     redirect(action:"index") }  def showrecipe() {    def rec = recipes.get(params.id)     [recipe: rec] } 

}

my index.gsp recipe name clickable should redirect id new page displays recipe info.

   <g:each var="recipes" in="${recipe}">     <tbody>         <tr>             <td><g:link action="showrecipe" id="${recipes.id}">${recipes.name}</g:link></td>         </tr>     </tbody>    </g:each> 

and showrecipe.gsp recipe should displayed itself...but keeps displaying of them add

<g:each var="rec" in="${recipe}">     <tbody>     <tr>         <td>${rec.name}</td>     </tr>     </tbody> </g:each> 

any guidance awesome! thanks

i first error in index.

it recipe.id have retrieving id´s , sending them in link. should not use uppercase in property name, compiler might think of property class. code should more like:

        <tr>             <td><g:link action="showrecipe" id="${recipes.id}">${recipes.name}</g:link></td>         </tr>  </g:each> 

add println(params) or log.info(params) in show() action print params , see receiving view.

also careful naming conventions. might want change recipe recipelist or something, , recipes recipeinstance or recipe. make code more readable, , make easier you.

edit

as @nitin dhomse said need access data of single recipe don´t need

<g:each var="rec" in="${recipe}">  

in show.gsp.

it more like

<table>  <tbody>   <tr>     <td>${recipe?.id}</td>     <td>${recipe?.name}</td>      ....  </tbody> </table> 

also, should either redirect in show() action if dont find recipe instance or access properties $(recipe?.name) in show.gsp, otherwise nullpointer exceptions.


Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -