Ruby on rails Rails路由错误,对象被分配给参数键?
我有小测验和问题Ruby on rails Rails路由错误,对象被分配给参数键?,ruby-on-rails,routes,Ruby On Rails,Routes,我有小测验和问题 class Question < ActiveRecord::Base belongs_to :quiz def to_param quesion_permalink end end class Quiz < ActiveRecord::Base has_many :questions def to_param permalink end end 当我在测验#显示页面中放置链接问题路径(q)时,我得到以下错误: No
class Question < ActiveRecord::Base
belongs_to :quiz
def to_param
quesion_permalink
end
end
class Quiz < ActiveRecord::Base
has_many :questions
def to_param
permalink
end
end
当我在测验#显示页面中放置链接问题路径(q)时,我得到以下错误:
No route matches {:controller=>"questions", :action=>"show", :permalink=>#<Question id: 2, question: "Is Ruby a Scripting Language?", quiz_id: 2, question_permalink: "q1", created_at: "2013-12-28 21:36:25", updated_at: "2013-12-28 21:36:25", order: 1>, :questions_permalink=>nil, :format=>nil} missing required keys: [:questions_permalink]
没有路由匹配{:controller=>“questions”、:action=>“show”、:permalink=>#、:questions\u permalink=>nil、:format=>nil}缺少必需的键:[:questions\u permalink]
我看到我想查看的问题被设置为
:permalink
键的对象。为什么会这样?我该怎么做呢?:permalink
是测验permalink和:question\u permalink
是问题peramlink?你的路线需要两个参数::permalink
和:questions\u permalink
。您需要为每个参数传递一个对象。根据您发布的内容,我认为以下方法可行:
question_path(quiz, question)
在终端上使用get而不是matchrun commqand rake ROUTS,并找到相应的url帮助程序。@SamD没有difference@NitinJ这就给出了我正在使用的
问题路径
。您有一个问题。to_参数
question_path(quiz, question)