Rails routing и идентификатор фрагмента URI
Когда я разрабатывал свои навыки RoR с некоторыми базовыми учебниками, у меня возникла проблема. То, что я пытаюсь достичь, - это комментарии, относящиеся к сообщениям, без отдельного индекса или отдельного представления. Эта часть была легкой.
Здесь очень сложно. Я хочу, чтобы post_comment_url
возвращал адрес с идентификатор фрагмента: http://example.com/posts/2#comment-4
. Это позволило бы мне использовать redirect_to
в нем простейшую форму, без параметра :anchor
(что было бы против рубинового способа упрощения вещей).
Как это сделать?
Ответы
Ответ 1
Вместо того, чтобы изменять поведение по умолчанию Rails, вероятно, было бы лучше обойти ваши потребности в вспомогательном методе:
# in app/controllers/application_controller.rb
class ApplicationController
helper :comment_link
def comment_link(comment)
post_comment_url(comment.post, comment, :anchor => "comment-#{comment.id}")
end
end
Вызов helper
позволит вам получить доступ к этому методу в ваших представлениях, а также ваши контроллеры.