我使用Comments表作为多态关联。当我保存评论并重定向到相应的关联模型。我希望它传递一个锚标记自动向下滚动以显示注释。我尝试以下但锚标签没有传递到网址
@comment = @commentable.comments.new comment_params
@comment.user = current_user
@comment.save
redirect_to @commentable, :anchor => '#comments'
Rake Routes
Prefix Verb URI Pattern Controller#Action
rate POST /rate(.:format) rater#create
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format) devise/passwords#update
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel
user_registration POST /users(.:format) devise/registrations#create
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
PATCH /users(.:format) devise/registrations#update
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
root GET / welcome#index
artists GET /artists(.:format) artists#index
POST /artists(.:format) artists#create
new_artist GET /artists/new(.:format) artists#new
edit_artist GET /artists/:id/edit(.:format) artists#edit
artist GET /artists/:id(.:format) artists#show
PATCH /artists/:id(.:format) artists#update
PUT /artists/:id(.:format) artists#update
DELETE /artists/:id(.:format) artists#destroy
album_comments GET /albums/:album_id/comments(.:format) albums/comments#index
POST /albums/:album_id/comments(.:format) albums/comments#create
new_album_comment GET /albums/:album_id/comments/new(.:format) albums/comments#new
edit_album_comment GET /albums/:album_id/comments/:id/edit(.:format) albums/comments#edit
album_comment GET /albums/:album_id/comments/:id(.:format) albums/comments#show
PATCH /albums/:album_id/comments/:id(.:format) albums/comments#update
PUT /albums/:album_id/comments/:id(.:format) albums/comments#update
DELETE /albums/:album_id/comments/:id(.:format) albums/comments#destroy
albums GET /albums(.:format) albums#index
POST /albums(.:format) albums#create
new_album GET /albums/new(.:format) albums#new
edit_album GET /albums/:id/edit(.:format) albums#edit
album GET /albums/:id(.:format) albums#show
PATCH /albums/:id(.:format) albums#update
PUT /albums/:id(.:format) albums#update
DELETE /albums/:id(.:format) albums#destroy
song_comments GET /songs/:song_id/comments(.:format) songs/comments#index
POST /songs/:song_id/comments(.:format) songs/comments#create
new_song_comment GET /songs/:song_id/comments/new(.:format) songs/comments#new
edit_song_comment GET /songs/:song_id/comments/:id/edit(.:format) songs/comments#edit
song_comment GET /songs/:song_id/comments/:id(.:format) songs/comments#show
PATCH /songs/:song_id/comments/:id(.:format) songs/comments#update
PUT /songs/:song_id/comments/:id(.:format) songs/comments#update
DELETE /songs/:song_id/comments/:id(.:format) songs/comments#destroy
songs GET /songs(.:format) songs#index
POST /songs(.:format) songs#create
new_song GET /songs/new(.:format) songs#new
edit_song GET /songs/:id/edit(.:format) songs#edit
song GET /songs/:id(.:format) songs#show
PATCH /songs/:id(.:format) songs#update
PUT /songs/:id(.:format) songs#update
DELETE /songs/:id(.:format) songs#destroy
GET /get_albums_of_artist/:artist_id(.:format) songs#get_albums_of_artist
答案 0 :(得分:5)
删除锚点字符串中的anchor:
符号,并在网址助手方法中调用redirect_to comments_path(anchor: 'anchor_tag')
:{{1}}
答案 1 :(得分:2)
好吧,来自rails DOC url_for()
方法应该返回给定对象的URL。
redirect_to "#{url_for(@commentable)}#comments"
如果它嵌套了url_for([@product, @comment])