flash messages in locale file, what' worng?

The controller: def create      Sector.new @ sector = (params [: sector])      @ sector.save      respond_with (@ sector)    end

in en.yml I put in the file:

en:    Flash:      actions:        created:          notice: "ok"

It seems correct but the message "ok" doesn't appears when successfully created a new sector.

Msan Msan wrote in post #974172:

The controller: def create      Sector.new @ sector = (params [: sector])      @ sector.save      respond_with (@ sector)    end

in en.yml I put in the file:

en:    Flash:      actions:        created:          notice: "ok"

It seems correct but the message "ok" doesn't appears when successfully created a new sector.

I think you did not define flash message in your controller action. It should be like def create   ...    if @sector.save     flash[:notice] = t('flash.actions.created.notice')    end   ... end

I have not tested it but give it a Try.

I've seen in respond_with « Plataformatec Blog

it says:

def create     @post = Post.new(params[:post])     flash[:notice] = "Post was successfully created" if @post.save     respond_with(@post)   end

Can now be written as:

  def create     @post = Post.new(params[:post])     @post.save     respond_with(@post)   end

Your locale just needs to have the following configuration:   flash:     actions:       create:         notice: "{resource_name} was successfully created"       update:         notice: "{resource_name} was successfully updated"       destroy:         notice: "{resource_name} was successfully destroyed"         alert: "{resource_name} could not be destroyed"

there is no notice definition in action create.

Then few problems in your code. 1) 'Flash' should be in lower case. 2) 'created' should be 'create' only.

Here is my it.yml:

flash:     actions:       create:         notice: "OK"

I think it's ok but I don't see notices when I create.

You do have the “responders” gem installed, in your Gemfile, and setup in your application_controller.rb, correct?

I think yes.