Project

General

Profile

Defect #28340

Updated by Go MAEDA almost 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>

Back