ruby-on-rails - 哪个用对了?闪光[:notice] vs :notice?

标签 ruby-on-rails

用哪个合适? flash[:notice] = 'some msg':notice = 'some msg'?

这两个选项我都遇到过,但是没有解释区别。所以我很困惑哪个是正确使用。也许是一样的?

最佳答案

如果您有一个带有操作的 Controller ,例如:

def create
  @activity = Activity.new activity_params
  if @activity.save
    flash[:notice] = 'Activity was successfully created!'
    redirect_to activity_path(@activity)
  else
    render :new
  end
end

然后你可以使用flash[:notice]并将flash哈希的notice设置为Activity was successfully created!

但是,您是正确的,在使用 redirect_to 时,您可以将 :notice 作为选项传递,例如:

def destroy
  if @activity.destroy
    redirect_to activities_path, notice: 'Activity was successfully destroy!'
  else
    flash.now[:notice] = 'Activity was not destroyed.'
  end
end

如果您检查 ActionController::Redirecting module您会看到通知可以作为选项传递。

从根本上说,这两件事做的是同一件事。它们只是设置不同。

希望这对您有所帮助!

关于ruby-on-rails - 哪个用对了?闪光[:notice] vs :notice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42130127/

相关文章:

ruby-on-rails - 是否有用于查找/投票/讨论 ruby 的好网站?

ruby-on-rails - 用户在 Rails 中选择的 CSS 样式表

javascript - Rails Assets 管道

jQuery UI 更改颜色无法正常工作(RoR 应用程序)

ruby-on-rails - 如何在工厂女孩中创建关联记录以在创建时通过验证

ruby-on-rails - Neo4j 急切加载 ActiveRel

ruby-on-rails - Rails 路由自定义用户 Controller 和设计 gem 的正确方法

php - Eclipse插件背景颜色变化

ruby-on-rails - 按周/月/等和 ActiveRecord 分组?

mysql - 无法抓取数据库:migrate in production