我正在建立一个人们可以分享内容的平台。当人们登录时我遇到问题,因为我想重定向到特殊页面,但我无法弄明白,希望有人可以帮助我。
我还有另一个问题,因为我想在导航栏上创建一个页面,人们在登录时可以看到他们的图钉。我已经找到了他们可以看到每个引脚的位置,但可以弄清楚如何显示自己的引脚。我知道它是用的:
<li><%= link_to "Home", pin_path %></li>
但这会产生错误,即:
No route matches {:action=>"show", :controller=>"pins"}
rake routes
显示在:
users_show GET /users/show(.:format) users#show
pins GET /pins(.:format) pins#index
POST /pins(.:format) pins#create
new_pin GET /pins/new(.:format) pins#new
edit_pin GET /pins/:id/edit(.:format) pins#edit
pin GET /pins/:id(.:format) pins#show
PUT /pins/:id(.:format) pins#update
DELETE /pins/:id(.:format) pins#destroy
thank_you_inquiries GET /inquiries/thank_you(.:format) inquiries#thank_you
inquiries POST /inquiries(.:format) inquiries#create
new_inquiry GET /inquiries/new(.:format) inquiries#new
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
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
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
user /users/:id(.:format) users#show
about GET /about(.:format) pages#about
contact GET /contact(.:format) pages#contact
profile /profile(.:format) profile#show
root / pages#home
希望有人可以帮我解决我的两个问题
答案 0 :(得分:0)
你必须在pin_path中添加:id,如下所示:
pin_path(pin.id)
答案 1 :(得分:0)
1)要在登录后重定向到特定页面,您应该覆盖应用程序控制器中的after_sign_in_path_for
(在这种情况下,将current_user_path替换为您要重定向到的页面):
def after_sign_in_path_for(resource)
current_user_path
end
2)如果您只想显示当前登录用户的引脚,则应修改pins_controller.rb,以便索引操作仅显示用户引脚:
def index
@pins = current_user.pins
end
然后链接到导航栏中的pins_path
<li><%= link_to "Home", pins_path %></li>
请务必在您的pins_controller中添加before_filter,以保证用户已通过身份验证(因此可以解析current_user)
before_action :authenticate_user!