Change this line:
@discussions = @user.discussion.paginate(page: params[:page])
 
for
 
@discussions = @user.discussion*s*.paginate(page: params[:page])

El viernes, 21 de junio de 2013 14:17:31 UTC-5, [email protected] escribió:

> Hi everybody!
> I'm currently in the process of writing my first ruby on rails app.  I'm 
> quite new to the whole thing and I could use some help with an issue i've 
> been stuck on for a while.
>
> The goal here is to crease a discussion board where users can comment with 
> microposts.  Very simple.  The issue is that I am getting the error
> NameError in Discussions#index
>
> undefined local variable or method `discussion' for 
> #<#<Class:0x00000103eb4e08>:0x00000103e78bb0>
>
> I'm sure the fix is quite simple.  Here's the relevant code
>
> discussion controller
>
> class DiscussionsController < ApplicationController
>
>   before_filter :signed_in_user, only: [:index, :edit, :update]
>
>
>
>
>   def show
>
>     @user = User.find(params[:id])
>
>     @discussions = @user.discussion.paginate(page: params[:page])
>
>     @microposts = @user.micropost.paginate(page: params[:page])
>
>
>   end
>
>
>   def index
>
>     @discussions = Discussion.all
>
>   end
>
>
>   def create
>
>     @discussion = current_user.discussions.build(params[:discussion])
>
>     if @discussion.save
>
>       flash[:success] = "Discussion Started!"
>
>       redirect_to root_url
>
>     else
>
>       render 'static_pages/home'
>
>     end
>
>   end
>
>
>   def destroy
>
>   end
>
>
>   def edit
>
>   end
>
>
>   def update
>
>   end
>
>
>   def new
>
>   end
>
> end
>
>
> micropost controller
>
> class MicropostsController < ApplicationController
>
>   before_filter :signed_in_user, only: [:create, :destroy]
>
>
>   def index
>
>   end
>
>
>   def create
>
>     @discussion = current_user.discussions.new
>
>     @micropost = current_user.microposts.build(params[:micropost])
>
>     if @micropost.save
>
>       flash[:success] = "Posted!"
>
>       redirect_to root_url
>
>     else
>
>       render 'static_pages/home'
>
>     end
>
>   end
>
>
>   def destroy
>
>   end
>
> end
>
>
> discussion board
>
> <% content_for :script do %>
>
>     <%= javascript_include_tag 'hover_content' %>
>
> <% end %>
>
>
>
>
> <li>
>
>   <div class = "intro-bar"><span class = "intro"><%=discussion.intro 
> %></span></div>
>
>   <div class = "content-bar">
>
>     <span class = "content"><%= discussion.content %></span>
>
>     <div class = "buttons">
>
>       <div class = "vote-neg"><%= link_to "Break Up", signup_path,class: 
> "btn btn-large btn-breakup" %></div>
>
>       <div class = "vote-plus"><%= link_to "Stay Together", 
> signup_path,class: "btn btn-large btn-staytogether" %></div>
>
>     </div>
>
>   </div>
>
> </li>
>
>
> <span class = "timestamp">
>
>     Posted <%= time_ago_in_words(discussion.created_at) %> ago.
>
>   </span>
>
>
> <div class = "comments">
>
>   <% discussion.microposts.each do |micropost|%>
>
>       <li>
>
>         <div class = "post-comment"><%= micropost.content%></div>
>
>       </li>
>
>   <% end %>
>
> </div>
>
>
> <% if signed_in? %>
>
>     <div class = "row">
>
>       <aside class = "span4">
>
>         <section>
>
>           <%= render 'shared/micropost_form', :locals => {:discussion => 
> discussion }%>
>
>         </section>
>
>       </aside>
>
>     </div>
>
> <% end %>
>
> micropost form partial
> <% @micropost = Micropost.new %>
> <% @micropost.discussion_id = discussion.id %>
>
>
> <%= form_for(@micropost) do |f| %>
>     <%= render 'shared/error_messages', object: f.object %>
>     <div class="field">
>       <%= f.text_area :content, placeholder: "Compose new micropost..." %>
>     </div>
>     <%= f.hidden_field :discussion_id, discussion.id%>
>
>     <%= f.submit "Post", class: "btn btn-large btn-primary" %>
> <% end %>
>
>
>
>
> thanks!
>

-- 
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/3bb124eb-f280-4686-b079-741057743a9e%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to