2014-04-23 5 views
0

링크에서 create 명령을 발행하려면 어떻게해야합니까? 편집 또는 생성을 표시하는 if/else 문이 있지만 레코드를 만드는 올바른 방법을 찾지 못했습니다. Ruby on Rails : 링크에서 레코드 만들기

나는이 있었다, 그러나 나는 내가 가질 수있는이 기능 얻기 위해 페이지를 새로 고침해야합니다 : (여기서

<% if FollowUp3Week.where(subject_id: sub.subject_id).first != nil %> 
    <%= link_to "edit", follow_up3_week_path([FollowUp3Week.where(subject_id: sub.subject_id).first]) %> 
    <% else %> 
    <%= FollowUp3Week.create(subject_id: sub.subject_id) %> 
    <% end %> 

그리고이 노력하고있어,하지만 행운까지를 subjects_path는 현재 페이지에 대한 링크입니다.) :

<% if Baseline.where(subject_id: sub.subject_id).first != nil %> 
    <%= link_to "edit", baseline_path([Baseline.where(subject_id: sub.subject_id).first]) %>    
    <% else %> 
    <%= link_to "create", subjects_path(Baseline.create(subject_id: sub.subject_id)) %> 
    <% end %> 

유용한 정보 나 참고 자료는 크게 감사하겠습니다.

정말 '작동'링크를 생성하는 링크를 만들고 싶습니다.

감사합니다.

+0

이 페이지는 렌더링 된 페이지, 컨트롤러 및 액션과 같은 컨텍스트를 제공 할 수 있습니까? –

답변

0

컨트롤러를 호출 할 때만 레코드를 만들 수 있으므로 사용자가 원하는 경우 링크를 만들어 컨트롤러에 URL을 렌더링하면됩니다. 링크를 클릭하면 생성 기록을 실행할 컨트롤러에 대한 요청이 트리거됩니다.

+0

그 모습은 어떨까요? 나는 Baseline.create (subject_id : sub.subject_id)를 link_to의 매개 변수로 사용하고있다. 그래서베이스 라인 컨트롤러의 url을 렌더링해야한다면 create 메소드를 어디에서 호출해야합니까? –

+1

그러면 다음과 같이 보일 것입니다 : link_to "Create", : controller => "[your controller]", : action => "create" 그리고 컨트롤러에서 create 액션에서 Baseline.create (subject_id : sub.subject_id) – eduardosasso