Defect #28340
Updated by Go MAEDA over 6 years ago
Ruby 2.4.3 Rails 4.2.8 Redmine 3.4.4 Hello. I tried to create plugin using step by step [[plugin tutorial]] plugin tutorial and there were some problems. I had to make several corrections to make plugin working. Since I'm newbie to ruby, rails, redmine - there is no confidence in rightness of my adjustments. Paragraph "Extending the project menu": 1. I replaced @@polls = Poll.find(:all)@ with @@polls = Poll.all@ <pre> def index @project = Project.find(params[:project_id]) @polls = Poll.find(:all) # @project.polls end </pre> 2. After clicking 'Yes' or 'No' error page was displaying. To solve this I modified method 'vote' ('redirect_to' invocation) to: <pre> def vote poll = Poll.find(params[:id]) poll.vote(params[:answer]) if poll.save flash[:notice] = 'Vote saved.' end redirect_to :action => 'index', :project_id => params[:project_id] end </pre> and added 'project_id' parameter in 'link_to' index.html.erb: <pre> <% @polls.each do |poll| %> <p> <%= poll.question %>? <%= link_to 'Yes', { :action => 'vote', :id => poll[:id], :answer => 'yes', :project_id => @project }, :method => :post %> <%= poll.yes %> / <%= link_to 'No', { :action => 'vote', :id => poll[:id], :answer => 'no', :project_id => @project }, :method => :post %> <%= poll.no %> </p> <% end %> </pre>