ID 대신 매개 변수로 문자열을 전달하는 데 문제가 있습니다. 나는 계속 " 'id'= stack"으로 게시물을 찾을 수 없습니다.Ruby on Rails - 'id'= 문자열이 포함 된 게시물을 찾을 수 없습니다.
routes.rb는 리디렉션 컨트롤러에서 : short_url에 대한 GET 요청을합니다.
get '/:short_url' => 'posts#redirect'
resources :posts
post_controller.rb는 게시물의 매개 변수 [: short_url]을 (를) 찾습니다.
def redirect
@post = Post.find(params[:short_url])
redirect_to @post.(params[:url])
end
보기는 단순히 @ post.each do | post | 고리.
<a class="item" target="_blank" href="<%= post.short_url %">
<div>Short URL</div>
<%= post.short_url %>
</a>
라우트 나 컨트롤러 레벨에서 매개 변수를 잘못 호출하고 있는지 확실하지 않습니다.
'id'= stack에있는 "stack"은 전달되는 문자열의 예입니다. – Dorian
'@post = Post.find_by_short_url (params [: short_url]) 구문을 사용해야합니다. – djothefou