On Friday, February 10, 2017 at 2:32:49 PM UTC+1, Colin Law wrote:
>
> On 10 February 2017 at 12:44, 'krfg' via Ruby on Rails: Talk
> <[email protected] <javascript:>> wrote:
> > ...
> > As you suggested I inserted logger.info immediately after the
> declaration of
> > @atp_tournaments in static_pages_controller.rb:
> >
> > def home
> > if logged_in? && !current_user.gamer?
> > ...
> > elsif logged_in? && current_user.gamer?
> > ...
> > @week_num = Time.now.strftime("%W").to_i
> > @atp_tournaments = AtpCalendar.where("week @> ?",
> > "{#{@week_num}}")
> > logger.info("atp tournaments count =
> #{@atp_tournaments.count}")
> > @wta_tournaments = WtaCalendar.where("week @> ?",
> > "{#{@week_num}}")
> > end
> > end
> >
> >
> > Using tail -n 100 log/test.log I got the following outut:
> >
> > atp tournaments count = 0
>
> Good, so now we can be confident that it is getting to that line. One
> thing that confuses me is that in an earlier post you showed the
> error:
>
> ERROR["test_micropost_interface", MicropostsInterfaceTest,
> 6.374447322000378]
> test_micropost_interface#MicropostsInterfaceTest (6.37s)
> ActionView::Template::Error: ActionView::Template::Error:
> undefined method `any?' for nil:NilClass
> app/views/static_pages/_gamers_home.html.erb:44:in
> `_app_views_static_pages__gamers_home_html_erb___4018195177444297552_78940320'
>
>
> app/views/static_pages/home.html.erb:3:in
> `_app_views_static_pages_home_html_erb___222411343280921082_78889880'
> app/controllers/microposts_controller.rb:12:in `create'
> test/integration/microposts_interface_test.rb:16:in `block
> (2 levels) in <class:MicropostsInterfaceTest>'
> test/integration/microposts_interface_test.rb:15:in `block
> in <class:MicropostsInterfaceTest>'
>
>
> which suggests that you are in the create method of the microposts
> controller. What I don't understand is how it then getting to the
> static pages controller. Can you post the start of
> microposts_controller.rb (up to at least line 12) and also the start
> of static_pages/home.html.erb.
>
> Colin
>
The home page is controlled by static_pages_controller.rb
However the part of the home page concerning microposts creation and
deletion is controlled by the microposts controller.
Below is an extract of microposts_controller.rb
class MicropostsController < ApplicationController
before_action :logged_in_user, only: [:create, :destroy]
before_action :correct_user, only: :destroy
def create
@micropost = current_user.microposts.build(micropost_params)
if @micropost.save
flash[:success] = "Micropost created!"
redirect_to root_url
else
@feed_items = []
render 'static_pages/home'
end
end
Line 12 is exactly render 'static_pages/home'
app/view/static_pages/home.html.erb is all below:
<% if logged_in? %>
<% if current_user.gamer? %>
<%= render 'static_pages/gamers_home' %>
<% else %>
<%= render 'static_pages/non_gamers_home' %>
<% end %>
<% else %>
<%= render 'static_pages/non_logged_in_home' %>
<% end %>
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/rubyonrails-talk/dc432888-c0a2-4528-ad2a-00c3ec92f863%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.