0

私はthumbs_upgemを使用していますが、投稿に投票してもまったく何も起こらないまで、うまくいくように見えました。現在、この投稿への投票リンクをクリックすると、URLがlocalhost:3000 / posts / 1/vote_upの空白のページが表示されます。

理想的には、投稿の投票数を増やすことでこの作業を行うことができます

私のルートファイル

Projectmadrone::Application.routes.draw do

  #devise_for :users
  devise_for :users do get '/users/sign_out' => 'devise/sessions#destroy' end

  resources :posts do
     member do
         post :vote_up
      end
     end

   root :to => 'posts#index'
 end

私のコントローラー方式

def vote_up
    begin
       current_user.vote_for(@post = Post.find(params[:id]))
       render :nothing => true, :status => 200
    rescue ActiveRecord::RecordInvalid
      render :nothing => true, :status => 404
    end
  end

app / views / post / index.html.erb

<% @posts.each do |post| %>

 <li><%= post.content %></li>
<li><%= post.attribution %> in <%= post.neighborhood %> 
<span class="post-date"><%=time_ago_in_words(post.created_at) %> ago</span></li>
<li> <%= bucket((post.neighborhood)) %> </li> 

<li>Num votes: <%= post.votes_for %></li>

<li><%= link_to('vote this post!', vote_up_post_path(post), :method => :post) %></li>

<% end %>
</ul>
4

1 に答える 1

0

この行は疑わしいようです:

render :nothing => true, :status => 200

表示されている空白のページをレンダリングするようにコントローラーに指示するようです。コメントアウトして、問題が解決するかどうかを確認してください。それが役立つことを願っています!

于 2012-09-03T21:12:44.943 に答える