2016-07-08 16 views
0

私のアプリにCourseQuestionモデルがあります。Rails 4:モデルのルートキーをカスタマイズする方法は?

@discussibleが異なるクラスになる可能性があるので、redirect_to @discussibleを使用しています(したがって、別のURLにリダイレクトされます)。

しかしCourseQuestionモデルをquestion_pathにリダイレクトする必要がありますが、これはデフォルトのではありません。

ルートを変更する必要はありません(ルートは問題ありません)、モデルの特定の名前付きパスを推定するためのレールが必要です。

これを行うには良い方法はありますか?

+0

可能な複製(http://stackoverflow.com/questions/5012255/how-to-rename- [URLにRESTルートの名前を変更する方法?] rest-routes-in-url) –

+0

ルートを変更する必要はありません(ルートは問題ありません)、モデルの特定の名前付きルートを推測するためのレールが必要です。 – aristofun

+0

これは 'resources:apples、:as =>" cars "'、リンクで言及されていませんか? –

答えて

1

何かしたことがありますが、何とかモデルのmodel_nameメソッドをオーバーライドするようにハックしているように感じます。あなたのケースでは

、あなたができる:の

class CourseQuestion 
    def self.model_name 
    ActiveModel::Name.new(self, nil, "Question") 
    end 

# if your course_question belongs_to :question, to prevent some unwanted bugs, where course_questions/25 would map to questions/25, add a to_param method that returns the id of the question, as such 
    def to_param 
    question_id.to_s # Be sure to stringify the id for routes 
    end 
end 
+0

ありがとう、私は同じソリューションに来たが、私にきれいに見えない:) – aristofun

関連する問題