クラスプロジェクトの Twitter チュートリアルに従っていますが、チュートリアルで PUBNUB を使用している部分で行き詰まっています。次のエラーが表示されます。
Showing C:/RubyProjects/twitter/app/views/layouts/application.html.erb where line #93 raised:
**wrong number of arguments(1 for 0)**
Extracted source (around line #93):
PUBNUB.subscribe({
channel : "<%= Digest::SHA1.hexdigest(current_user.username, current_user.created_at) %>",
callback : function(message) { updateTimeline(message) }
私はstackoverflowで見つけて、EventMachineが何人かの人々を助けたことを発見し、私はそれを試しましたが、それでも灘:(
Github の PUBNUB ページを確認したところ、チャネルとコールバックの記述方法が変更されていることがわかったので、それを試してみましたが、どちらも役に立ちませんでした。引数の数が間違っているという同じエラーが引き続き発生します(0に対して1)。
Notify.rb
class Notify
def self.deliver_message_to_user(params)
post = Post.find(params[:post_id])
user = User.find(params[:user_id])
user.channel ||= Channel.new(
:channel_ident =>
Digest::SHA1.hexdigest(user.username, user.created_at.to_s))
Pubnub.publish({
:channel => user.channel.channel_ident,
:message => post.to_json(:include => :user)
})
end
end
application.html.erb
<script>
function updateTimeline(message) {
var html = JST['post'](jQuery.parseJSON(message));
$('#timeline').prepend(html);
}
Pubnub.subscribe({
:channel => "<%= Digest::SHA1.hexdigest(current_user.username, current_user.created_at) %>",
:callback => function(message) { updateTimeline(message) }
})
</script>
application.rb ファイルにrequire 'digest'を入れましたが、まだ役に立ちません。それは構文でしょうか?もしそうなら、正しい構文がどうなるかわかりません。