私はこれに関しては劣等生で、完全に立ち往生しています。railscast 103に続いて、rails 3.2.3 でアナウンスシステムを実装しようとしています。
チュートリアルではプロトタイプを使用していますが、それを jquery に変換する方法がわかりません。
私application.html.haml
はこれを持っています:
%h3{:id => "alert", :class=>'alert-danger fade in', :style=>"padding: 10px;"}
- unless current_announcements.empty?
#announcement
- for announcement in current_announcements
%ul{:class=>'unstyled'}
%li
= h announcement.message
= link_to "Hide this message", :url => "/javascripts/hide_announcement.js"#, :remote => true
非表示ボタンをクリックすると、ビューが削除announcement_hide_time
され、現在の時刻に設定されます。私はこれを私のjavascriptコントローラに持っています:
class JavascriptsController < ApplicationController
respond_to :js
attr_accessible :announcement_hide_time
def hide_announcement
session[:announcement_hide_time] = Time.now
end
end
そして、これは私のルートで:
match ":controller/:action.:format"
今の問題は、Railscast で、hide_announcement.js.rjs に次のものが必要だと書かれていることです。
page[:announcement].hide
hide_announcement.js.erb で置き換えたもの:
$("#announcement").hide()
しかし、リンクをクリックしても、コンソールにエラーは表示されず、メッセージは削除されません。