댓글 scaffold와 영화 비계가 있습니다.FriendlyID 슬러그를 해당 ID로 번역
사용자가이 경로/영화/더 - 소셜 네트워크에 동영상에 댓글을 달 수/의견/새
내 문제는 의견이 작동하고 영화와 연결 movie_id를 사용한다는 것입니다.
그럼 내가 묻는 것은 social-network을 movie_id로 전달하는 방법입니다.
PS : 임 친절한 아이디 4
댓글 scaffold와 영화 비계가 있습니다.FriendlyID 슬러그를 해당 ID로 번역
사용자가이 경로/영화/더 - 소셜 네트워크에 동영상에 댓글을 달 수/의견/새
내 문제는 의견이 작동하고 영화와 연결 movie_id를 사용한다는 것입니다.
그럼 내가 묻는 것은 social-network을 movie_id로 전달하는 방법입니다.
PS : 임 친절한 아이디 4
를 사용하여 당신은 to_param를 사용할 수 있습니다. 예를 들어, movie_name
경우 '는 사회적 네트워크'는,이 작동합니다
class Movie < ActiveRecord::Base
def to_param
movie_name
end
end
먼저 the-social-network
처럼 "슬러그"로 Movie
을보고 싶어하기 때문에, 당신은 FriendlyId
를 확장하고 그것을 말할 필요 id
을 slug
이라는 속성으로 매개 변수화하십시오. 다음과 같이 :slugged
을 전달하여이 작업을 수행 :
# change migration file
class AddSlugToMovies < ActiveRecord::Migration
def change
add_column :movies, :slug, :string
add_index :movies, :slug
end
end
:
# in console
rails g migration add_slug_to_movies slug:string
인덱스로 slug
를 추가 할 마이그레이션 파일을 수정
# app/models/movie.rb
class Movie < ActiveRecord::Base
extend FriendlyId
friendly_id :title, use: :slugged
end
을 그리고, Movie
개체에 대한 slug
를 저장하는 마이그레이션을 생성
마지막으로 데이터베이스에있는 모든 기존 영화의 슬러그를 만들어야합니다. 각 영화 하나씩 저장하여이 작업을 수행 할 수 있습니다 : 당신이 이런 짓을 것입니다 후
# in Rails console
Movie.find_each(&:save)
, 당신은 /movies/the-social-network/comments/new
유사 Movie
에 조회를 할 수 있어야합니다.
데이터베이스에서 제목이 변경 될 때 개체의 슬러그가 올바르게 업데이트되는지 확인하는 것을 포함하여 자세한 내용과 예제를 보려면 this Railscast을 확인하십시오.