2016-08-29 12 views
0

私は自分のレールアプリケーションでsimple_calendar gemを動作させようとしています。しかし、未定義のメソッド `has_key? 'が得られます。 nilのために:NilClass」RailsシンプルカレンダーGemエラー

はRailsの実行5.0.0

Gemfile - >宝石 "simple_calendar"、 "〜> 2.0"

乱 "バンドルのインストール" コマンド、アプリケーション

スクリーンショットの再起動エラー - コントローラとビューページの>http://imgur.com/a/umAQH

ペーストビン - >http://pastebin.com/8WX4dZNs

広告のおかげでヴァンス!

答えて

1

ドキュメントごとに、calendarヘルパーはHashというパラメータを受け取ります。あなたのコードスニペットでは、オプションのHashではなく、イベントのコレクション(@events)を渡しました。

イベントを渡したい場合は、ドキュメントにその方法を示します。

<%= month_calendar events: @meetings do |date, meetings| %> 
    <%= date %> 

    <% meetings.each do |meeting| %> 
    <div> 
     <%= meeting.name %> 
    </div> 
    <% end %> 
<% end %> 

出典:<%= calendar events: @events do %>https://github.com/excid3/simple_calendar#rendering-events

だからあなたの場合には、あなたはそうのようなキーと値のペアとしてのあなたの@eventsコレクションを渡したいと思うでしょう。

1

を表示カレンダーを得たIあなたのイベントに使用するモデルの中にstart_timeエイリアスの定義を追加する必要があると思います。ここで私はhav Eこのここに私のアプリ/モデル/ evento.rb

def start_time 
    self.fecha 
end 

内部の「fecha」私のイベントの開始日です。あなたのイベントへのリンクをレンダリングする必要があります

<h3>Eventos (<%= @eventos.count %>)</h3> 
<%= month_calendar events: @eventos do |date, eventos| %> 
    <%= date.day %> 
    <% eventos.each do |evento| %> 
    <div> 
     <%= link_to evento.title, evento %> 
    </div> 
    <% end %> 
<% end %> 

:あなたはあなたの「calendar.html.erb」内でこのような何かを持っている必要がありますので、あなたは、カルロス・ラミレスが説明するように、あなたのイベントを操作する必要があります。