2017-10-13 10 views
1

私はの通知をRails 5アプリで使用しており、通知ポップアップのデフォルトのタイトルを削除する方法が見つかりません。Rails、Gritter - デフォルトのタイトルを削除

<%= js add_gritter(flash[:notice], title: false, sticky: false) %> 
<%= js add_gritter(flash[:notice], title: nil, sticky: false) %> 
<%= js add_gritter(flash[:notice], title: '', sticky: false) %> 
<%= js add_gritter(flash[:notice], title: ' ', sticky: false) %> 

そして、まだデフォルトのタイトルに表示されるポップアップ - "通知":

<%= js add_gritter(flash[:notice], title: 'I dont need you', sticky: false) %> 

が試した:私は怒鳴るグリッターを追加します。アプリ全体のプロジェクトである「通知」や「グリーター」を検索しようとしましたが、関連するものは見つかりませんでした。

どのようにそれを取り除く?

答えて

1

宝石でadd_gritter方法は」とoptions[:title]を設定し、 options[:title].blank?がtrueを返す場合は「通知」。

def add_gritter(text, options={}) 
    if %w(success warning error notice progress).include?(options[:image].to_s) 
    options[:image] = image_path("#{options[:image]}#{options[:image].to_s == 'progress' ? '.gif' : '.png'}") 
    end 
    notification = Array.new 
    notification.push("jQuery(function(){") if options[:nodom_wrap].blank? 
    notification.push("jQuery.gritter.add({") 
    notification.push("image:'#{options[:image]}',") if options[:image].present? 
    notification.push("sticky:#{options[:sticky]},") if options[:sticky].present? 
    notification.push("time:#{options[:time]},") if options[:time].present? 
    notification.push("class_name:'#{options[:class_name]}',") if options[:class_name].present? 
    notification.push("before_open:function(e){#{options[:before_open]}},") if options[:before_open].present? 
    notification.push("after_open:function(e){#{options[:after_open]}},") if options[:after_open].present? 
    notification.push("before_close:function(e){#{options[:before_close]}},") if options[:before_close].present? 
    notification.push("after_close:function(e){#{options[:after_close]}},") if options[:after_close].present? 
    notification.push("on_click:function(e){#{options[:on_click]}},") if options[:on_click].present? 
    notification.push("title:'#{escape_javascript(options[:title])}',") if options[:title].blank? # Here 
    notification.push("text:'#{escape_javascript(text)}'") 
    notification.push("});") 
    notification.push("});") if options[:nodom_wrap].blank? 
    text.present? ? notification.join.html_safe : nil 
end 

しかしグリッター:

「汚い」オプションではなく、オプションのハッシュ*argsと、再びそれを定義し、それはオプションの引数として渡された場合は、タイトルをレンダリングするために、のようなものです。

//We might have some issues if we don't have a title or text! 
if (!params.text) { 
    throw 'You need to fill out the text parameter.'; 
} 
:JSファイルが titleが何らかのコンテンツを持っているので、あなたがあなた自身に対処し、それを編集、テキストだけをチェックするために、のようにする必要があるかどうかをチェックする ifを持っています
1

いい方法のようには聞こえませんが、機能します。他のソリューションの場合 - お気軽にどうぞ:)

.gritter-title { 
    display: none; 
} 

編集:

私はSCSSを使用しているので、これは良いです:

<%= js add_gritter(flash[:notice], sticky: false, :on_click => remove_gritter, :time => 100000, class_name: 'no-title') %> 
.no-title { 
    .gritter-title {  
     display: none; 
    } 
} 
関連する問題