복붙노트

[RUBY-ON-RAILS] 레일의 링크로 테이블 행 만들기

RUBY-ON-RAILS

레일의 링크로 테이블 행 만들기

내가 편집 페이지에 테이블 링크에서 행을 만들려고 노력하고 있습니다. 내가 그들을 인쇄 할 수 있습니다 때문에, 링크가 만들어지는 것을 알고있다. 나는 가까운,하지만 중요한 뭔가를 놓친 거지. 나는 제대로 링크 작업을하기 위해 무엇을 변경합니까?

<h1>Scouts</h1>
<p><%= button_to "Add a new Scout", new_scout_path, :method => :get %></p>
<div class="message-board">
  <table>
    <tr>
      <th>Name</th>
      <th>Rank</th>
      <th>Advancement Date</th>
      <th>Age</th>
    </tr>  

<% @scouts.each do |scout| %>
    <tr <% link_to edit_scout_path(scout) %> >
      <td><%= scout.name %></td>
      <td><%= scout.rank %></td>
      <td><%= scout.advancement %></td>
      <td><%= scout.age %></td>
    </tr>
<% end %>
  </table>
</div>

해결법

  1. ==============================

    1.로빈 말했듯이, 그것은 잘못된 HTML입니다. 당신은 아마 그렇게는 안된다.

    로빈 말했듯이, 그것은 잘못된 HTML입니다. 당신은 아마 그렇게는 안된다.

    나는 개인적으로 jQuery를 사용하여 TR에 온 클릭 이벤트를 둘 것입니다. TR 요소는 다음과 같이 보일 것이다 :

    <tr data-link="<%= edit_scout_path(scout) %>">
       ...
    </tr>
    

    그리고 관련 자바 스크립트 (예 : 응용 프로그램과 같은 파일에 배치 / 자산 / 자바 스크립트 / scouts.js)이 같은 것입니다 :

    $("tr[data-link]").click(function() {
      window.location = $(this).data("link")
    })
    

    이것은 그들이 내가 수 생각할 수있는 가장 눈에 거슬리지 방식의 URL 인 것처럼 데이터 링크 속성 행위가있는 모든 TR 요소를 만들 것입니다.

  2. ==============================

    2.나는 레일에 새로운 오전과 내가 같은 문제를 가지고 다음과 같은 몇 가지 변경 사항으로 라이언의 조언을 사용 -

    나는 레일에 새로운 오전과 내가 같은 문제를 가지고 다음과 같은 몇 가지 변경 사항으로 라이언의 조언을 사용 -

    $ ( "TR"). ((클릭 기능) {   에서는 window.location = $ (이) .DATA ( "링크") })

    당신은 $ (이)를 사용합니다.

  3. ==============================

    3.여기에 원격 해당 링크를 만들기 위해 필자는 다음과 같습니다 사실

    여기에 원격 해당 링크를 만들기 위해 필자는 다음과 같습니다 사실

    $("tr[data-link]").click(function () {
        $.ajax({
            url: this.getAttribute('data-link'),
            dataType: "script",
            type: "GET"
        });
        event.preventDefault();
    });
    
  4. ==============================

    4.이것은 귀하의 질문에 대답하지 않지만, 당신이 정말로 후 가능성이있는 문제에 대한 해결책 제공 : 단지 오히려 때문에 테이블 행에보다 셀에 편집 링크를 추가를 자체는 기대로 이어질 수 테이블 행에 링크를 가진 사용자에 대한 결과. 그들은 그것을 클릭하는 경우, 그들은 편집 링크를 주도하고자하지 않을 수 있습니다.

    이것은 귀하의 질문에 대답하지 않지만, 당신이 정말로 후 가능성이있는 문제에 대한 해결책 제공 : 단지 오히려 때문에 테이블 행에보다 셀에 편집 링크를 추가를 자체는 기대로 이어질 수 테이블 행에 링크를 가진 사용자에 대한 결과. 그들은 그것을 클릭하는 경우, 그들은 편집 링크를 주도하고자하지 않을 수 있습니다.

    할아버지가 말을 사용처럼 : 키스 - 바보 간단하게

        <% @scouts.each do |scout| %>
            <tr>
             <!-- Simply edit the scout -->
              <td> <%= link_to edit_scout_path(scout), "Edit Scout" %> </td>      
              <td><%= scout.name %></td>
              <td><%= scout.rank %></td>
              <td><%= scout.advancement %></td>
              <td><%= scout.age %></td>
            </tr>
    
  5. from https://stackoverflow.com/questions/9945620/making-a-table-row-into-a-link-in-rails by cc-by-sa and MIT license