2012-12-26 2 views
2

얘들 아, 메리 크리스마스! 나는 레일에 루비에 새로 온 사람과 내가 몇 가지 물건에 대해 아직도 조금 혼란 스러워요Ruby on Rails에 대한 일반적인 질문과 답변

:

언제하지 않을 때 새로운 컨트롤러를 작성해야합니까?

단일 검색 상자로 앱을 만들고 모든 기사를 검색하고 싶습니다. 시작 페이지 (검색 상자)와 검색을위한 컨트롤러를 생성해야합니까? 정적 페이지 용 컨트롤러를 만들어야합니까?

관리 인터페이스 gem을 사용해야합니까, 아니면 내 자신을 생성해야합니까?

정상적인 사용자는 이제 관리자 만 기사를 만들 수 있습니다. 내가 관리 인터페이스 보석 중 하나를 사용해야합니까 또는 내 자신을 만들 수 있습니까?

답변

2

Ruby on Rails는 MVC 프레임 워크를 따르며 컨트롤러는 사용자의 액션이 포함 된 클래스이므로 웹 사이트에서 제공하는 모든 기능에 대한 액션을 추가해야합니다. 기술적으로 하나의 컨트롤러에서 모든 작업을 수행 할 수 있지만 그 작업은 끔찍한 일이므로 일반적으로 다른 컨트롤러를 만들어보다 나은 방법으로 경로와 코드를 구성하십시오. 관리자 인터페이스 보석에 대한 Follow the Rails guide on controllers.

, 당신은 devisecancan, 그들은 모두 매우 안정적이고 잘 테스트되어 사용할 수 있습니다.

+0

ActiveAdmin gem도보실 가치가 있습니다 – Nazar

1

메리 크리스마스!

Khaled은 레일스가 MVC 아키텍처 인 것을 제안 했으므로 각 페이지의 컨트롤러를 갖는 것이 좋습니다. 지금 정적 인 페이지가있을지라도 후자는 사이트를 동적으로 만들려고 할 때 후자는 특정 뷰 페이지에 대한 메소드를 추가 할 위치를 많이 혼동하게됩니다.

일반적으로 처음부터 만드는 대신 보석을 사용하는 것이 좋습니다. link은 트위터 부트 스트랩과 함께 devise 및 cancan을 사용하는 방법을 설명합니다 (보기 용). 그러나 레일을 배울 계획이라면 무엇이 일어나고 있는지 아이디어를 얻을 수 있으므로 처음부터 다시 할 것을 권장합니다. 대부분의 작업을 스크래치로 수행하는이 tutorial을 볼 수 있습니다.

Rails를 즐기십시오 !!

2

실제로 Ruby on Rails는 MVC이므로 제어기가 모델을 뷰에 연결합니다. 따라서 일반적으로 리소스 지향적 인 사고 방식을 사용하는 것이 좋습니다. 리소스를 찾고/제시 할 때마다 컨트롤러를 만듭니다.

  • ArticlesController : 기본보기, 검색 창
  • PagesController와 정적 페이지, 당신은 몇 가지 ERB 필요하면/HAML
  • admin/ArticlesController : 같은 귀하의 경우 뭔가에있는 문서의 관리를위한

페이지에 동적 정보 (예 : 총 기사 수)가 필요하지 않으면 완전히 정적 페이지를 public 폴더 아래에 배치 할 수 있습니다. 컨트롤러가 필요하지 않습니다.

귀하의 검색 상자와 관련하여 : 이것은 귀하의 색인 페이지에 대한 매개 변수입니다. 예 : 색인에 가장 최근의 10 개의 기사를 표시하고 일부 용어로 검색 할 때 관련 기사를 표시하지만 동일한 컨트롤러 및 동일한 작업에 표시합니다.

관리자 인터페이스와 관련하여 : 예, rails_admin 또는 active_admin과 같은 보석을 사용하면 곧 시작할 수 있습니다. 그렇게 확실히합니다. 그러나 그 보석들은 물론 매우 일반적이며 당신의 요구를 완전히 충족시키지 못할 수도 있습니다. 그럴 경우, 나중에 언제든지 쉽게 되돌릴 수 있습니다.

HTH.

+0

답변 해 주셔서 대단히 감사합니다. 이제 모든 것이 훨씬 명확 해집니다. – nohayeye

관련 문제