2014-03-13 87 views
1

嗨我投票加入我的網站。用戶可以投票是或否。我做的形式,但它返回一個錯誤,只爲Yes按鈕投票按鈕,是和否Rails 4

<%= form_for([@post, @post.votes.build]) do |c| %> 
      <%= c.input value: 1, type: :hidden %> 
      <%= c.submit :Yes, class: "btn btn-large btn-primary" %> 
     <% end %> 

這是錯誤:很抱歉,但出事了。

理論上我要讓這樣的形式:

<div class="text-success"> 
    Votează inițiativa<br> 
    <button class="btn btn-large btn-primary">PRO</button> sau 
    <button class="btn btn-danger">CONTRA</button> 
</div> 

見我的控制器:

class VotesController < ApplicationController 
    def new 
    end 

    def create 
    @post = Post.find(params[:id]) 
     @votes = @post.votes.create(votes_params) 
     @votes.user = current_user 
     @votes.save 
    redirect_to @votes 
    end 

    private 

    def votes_params 
     votes_params = params.require(:votes).permit(:stare) 
    end 
end 

見我的模型:

class Vote < ActiveRecord::Base 
    belongs_to :user, dependent: :destroy 
    belongs_to :post 
end 

如何做到這一點?

回答

0

你需要來發表您實際的錯誤 - 通常通過鍵入heroku logs(聽起來像是你有它在生產環境中運行)

從我所看到的,我會嘗試修復這樣的錯誤:

<%= form_for([@post, @post.votes.build]) do |c| %> 
     <%= c.input value: 1, type: :hidden %> 
     <%= c.submit :Yes, class: "btn btn-large btn-primary" %> 
    <% end %> 


    def create 
    @post = Post.find(params[:id]) 
     @votes = @post.votes.create(votes_params) 
     @votes.save 
    redirect_to @post 
    end 

    private 

    def votes_params 
    params.require(:post).permit(:stare).merge(user_id: current_user.id) 
    end 

我想你params hash會有些畸形 - 你需要將它張貼,幫助我們認識到,如何修正這個錯誤,正確

+0

我想你的代碼,但recived錯誤是一樣的。當我輸入控制檯_heroku logs_我recive這個: !沒有指定應用程序。從應用程序文件夾運行此命令或指定要使用--app APP的應用程序。 – TheVic

+0

你是用Heroku還是其他平臺託管? –

+0

嗯...我解決了這個問題。這是發展模式,而不是生產......現在不是現在爲什麼我得到非信息性錯誤。這是可悲的。問題出在我的模型上。 無論如何。 – TheVic