调用方法时遇到问题。以下是我的一个控制器的代码:
class MethodsController < ApplicationController
def details
@title = "User Details"
@fname = params[:first_name]
@lname = params[:last_name]
@exam_no = params[:exam_no]
if @fname && @lname then
@candidate = Candidate.create({:first_name => @fname, :last_name => @lname,:exam_number => @exam_no})
grades #This method call doesn't work
end
end
def grades
@title = "Enter Grades"
@candidate = Candidate.find(:last)
@grades = params[:grades]
@candidate.update_attributes({:grades => params[:grades]})
end
end
详细信息方法运行正常,点击“详情”视图中的“提交”按钮可创建候选人,我可以“链接到”下一页。
我真正想做的是:点击“提交”并自动转到下一个视图“成绩”(上面也会显示)。我认为在'详细信息中调用'成绩'的方法会起作用,但事实并非如此。出现“成绩”页面标题,但“详细信息”的视图仍然存在。
有没有办法做到这一点?可能从“详细信息”视图中调用“成绩”方法?我知道这不是最好的做法,但我被困住了。 (我试过@ controller.grades但是我得到NoMethodError - @controller是nil)。我也试过渲染'成绩'但当然在呈现视图时,它不会执行代码。
答案 0 :(得分:0)
您可能正在寻找redirect_to而不是渲染
Redirect_to :action => 'grades'