I've been trying to pass data to database in Grails, using a g:form. Below is my .gsp file code:
Register
<g:form controller="user" action="save">
<label>Username:</label>
<g:textField name="username"/>
<br/>
<label>Password:</label>
<g:passwordField name="password"></g:passwordField>
<br/>
<g:actionSubmit value="Save"/>
</g:form>
And below is my controller code:
def index(){
def users = User.list();
[users:users]
}
def save(){
if(params.get(1) != null && params.get(2) != null){
def usr = new User(params);
usr.save(failOnError: true);
render (view: 'welcome.gsp');
} else {
render (view: 'loginfailed');
}
}
As you can predict, the save() method block that is executed is in the "else" statement. So far, I've been following the tutorial that's under this link, just doing my own analogical content: http://grails.asia/grails-tutorial-for-beginners-form-submission-and-saving-data-to-the-database/
Do you have any idea why the passed values are null? I've been sitting on it for a few hours already and can't find a solution.
def save(){
if(params?.username && params?.password){
def usr = new User(params);
usr.save(failOnError: true,flush:true);
render (view: 'welcome.gsp');
} else {
render (view: 'loginfailed');
}
}
Note: User
domain should contain username
and password