showを表示しようとしたら、undefined method `id' for nil:NilClass というのがでました。
コントローラーで@event を定義してないだけかとも思いましたが、event_infos_controller.rb で定義ができています。
エラーがでているのはshow.html.erbで、
<%= link_to "https://twitter.com/#{@event.owner.id}" do %> <%= image_tag @event.owner.image_url %> <%= "@#{@event.owner.nickname}" %> <% end %>
この箇所です。@event の箇所です。
event_infos_controller.rb
def show @event = EventInfo.find(params[:id]) @tickets = @event.tickets.includes(:user).order(:created_at) end
welcome_controller.rb
def index @event = current_user.created_events.build @q = EventInfo.page(params[:page]).per(PER).order(:start_time).search(search_params) @events = @q.result(distinct: true) end
show.html.erb
<div class="row"> <div class="col-md-8"> <% if @event.event_image? %> <div class="thumbnail"> <%= image_tag @event.event_image.url %> </div> <% end %> <div class="panel panel-default"> <div class="panel-heading"> 主催者 </div> <div class="panel-body"> <%= link_to "https://twitter.com/#{@event.owner.id}" do %> <%= image_tag @event.owner.image_url %> <%= "@#{@event.owner.nickname}" %> <% end %> </div> </div> </div> </div>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。