Saturday, June 22, 2013

[Rails] Re: [HELP] NameError in Discussions#index

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

El viernes, 21 de junio de 2013 14:17:31 UTC-5, ni...@relesh.com 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 rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
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.
 
 

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate