2014-02-17 3 views
1

한 모델과 약간 다른 양식을 만들려고합니다. 저는 관리자가 다른 차량을 만들 수있는 사이트 관리자 부분을하고 있습니다. 고객이 사이트에 다른 자동차를 만들 때 별도의 링크가 있어야한다고 요청합니다.한 모델에서 여러 양식 만들기

이 단순화 될 모델 :

Create new Mercedes 
Create new Seat 
Create new Alfa Romeo 
Create new Peugeot 
etc 

그래서, car_type 내부 테이블 등 메르세데스, 시트, 알파 로메오, 푸조를 포함 할 수있다 :

create_table "cars", force: true do |t| 
    t.string "model" 
    t.text  "description" 
    t.integer "price" 
    t.string "car_type" 
    t.datetime "created_at" 
    t.datetime "updated_at" 
end 

사이트 이런 식으로 뭔가를 할 것이다 관리자가 링크를 클릭하면 새로운 페이지가 열리고 그 유형의 자동차를 만들 수 있습니다. 예를 들어, 그가 Create new Seat을 클릭하면 좌석 로고가있는 새 사이트와 페이지의 왼쪽/오른쪽에 좌석 자동차의 임의의 그림이 표시됩니다.

클릭하는 링크를 따라 차 종류는 다음과 같이 자동으로 설정됩니다 :

<%= form_for @car do |f| %> 
    <%= f.hidden :car_type, "Seat" %> 
<% end %> 

내 질문은 내가 그래서 동적으로있는 차 의지에 따라 해당 필드를 생성 할 수 있습니다 클릭하는 링크를 알 수있는 방법입니다 만들어 지겠니? 그래서,이 같은 :

<%= form_for @car do |f| %> 
    <% if ????? Seat %> 
    <%= f.hidden :car_type, "Seat" %> 
    <% elsif ????? Mercedes %> 
    <%= f.hidden :car_type, "Mercedes" %> 
    <% end %> 
<% end %> 

같은 방법으로 그 페이지에 링크가 선택에 따라 서로 다른 제조 업체의 로고 및 다른 일을 생성합니다. 각 차량의 형태는 같습니다.

제안 해 주셔서 감사합니다.

답변

0

자동차 컨트롤러에 대해 경로를 정의했습니다. 이것은 new_car_path과 같은 경로 도우미를 제공합니다. 당신이

new_car_path(car_type: "seat") 

같은 링크를 만드는 데 사용하는 경우 컨트롤러에 당신은 params[:car_type]

0

당신이 JS에 '를 Car_type'에 대한 select_box을 제공하는 것입니다 받아 사용할 수있는 또 다른 방법으로이 추가 PARAM를 얻을 수 있습니다 'onchange'이벤트를 경청하십시오.

자동차 유형으로 '좌석'을 선택하면 페이지가 컨트롤러에 요청을 보내고 응답 데이터에서 페이지를 채 웁니다. 한마디로

'Car_Type'자동차 유형을 선택에

  • 에 대한

    1. 선택 상자 페이지는
    2. 관련 데이터를 전송 (JSON 또는 무엇이든)
    3. 컨트롤러 컨트롤러 수있는 AJAX 요청을 전송 컨트롤러 응답으로 페이지를 채 웁니다.

    나는하지 나는이 방법 :

    을 사용하는 방법에 대한 자세한 정보를 제공 할 수 있는지가 분명 나는 희망
  • 관련 문제