我们在项目中运行了devise和responders gem。我们已删除了signed_in和signed_up flash消息,如下所述:Rails Disable devise flash messages
config / locales / devise.en.yml的相关部分:
devise:
sessions:
signed_in: ''
signed_out: ''
但是现在登录闪光灯时我们收到的是“用户已成功创建”。我们已将此追溯到响应者宝石。这是我们的config / locales / responders.en.yml文件:
en:
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.'
我明白为什么会说用户是创建的(设计会话是用用户的资源创建的)但是我到目前为止所尝试的所有内容都没有删除该消息(没有删除整个响应者宝石)。
我已经尝试将一些带有空消息的特定条目添加到responders.en.yml文件中:
en:
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.'
users:
create:
notice: ''
success: ''
sessions:
create:
notice: ''
success: ''
但我们仍然得到相同的“用户已成功创建。”登录时闪烁消息。
Rails:4.0.4 设计:3.2.2 响应者:1.0.0
如何在用户登录并创建会话时禁用此Flash消息?
答案 0 :(得分:4)
我刚刚遇到过这个问题,我想我应该回答一下这个问题。你真的很接近你的尝试,但是嵌套有点错误。
en:
flash:
actions:
create:
notice: '%{resource_name} was successfully created.'
alert: '%{resource_name} could not be created.'
...your other responders here...
devise:
sessions:
create:
notice: ''
与您的问题唯一真正的区别是sessions
嵌套在devise
下。
答案 1 :(得分:3)
只是为了补充周杰伦的答案。如果要覆盖Devise的SessionsController,则必须删除语言环境文件中的设计密钥。所以它将是:
en:
flash:
actions:
create:
notice: '%{resource_name} was successfully created.'
alert: '%{resource_name} could not be created.'
...your other responders here...
sessions:
create:
notice: ''