Rails - 重定向到特定记录页面

时间:2014-12-06 13:15:49

标签: ruby-on-rails ruby database ruby-on-rails-3

我对Ruby on Rails和Ruby一般都是新手,但我正在尝试使用Ruby on Rails中的简单数据库创建一个小型网站。 目前我有html.erb页面来显示,添加和编辑记录。 我想要做的下一件事是将用户重定向到一个页面的操作,该页面包含有关他在记录表中单击的记录的更多信息。 我真的想不出任何方法来做到这一点。 任何帮助都会非常适合。

P.S。对不起,我的英语有任何错误 - 这不是我的第一语言,我还在学习!

这是我的HTML代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="tablecontainer">
    <table class="table table-bordered table-condensed">
      <tr class="success">
        <td><b>Nazwa</b></td>
        <td><b>Obrażenia</b></td>
        <td><b>Typ</b></td>
        <td><b>Waga</b></td>
        <td><b>Zasięg</b></td>
        <td><b>Szybkość</b></td>
        <td><b>Rzadkość</b></td>
        <td><b>Opcje</b></td>
      </tr>
      <% @biala.each do |b| %>
          <tr>
            <td><%= b.nazwa %></td>
            <td><%= b.obrazenia %>%</td>
            <td><%= b.typ %></td>
            <td><%= b.waga %></td>
            <td><%= b.zasieg %></td>
            <td><%= b.szybkosc %></td>
            <td><%= b.rzadkosc %></td>
            <td><%= link_to '', {id: b.id, action: 'db_wiecejbiala'}, class: "glyphicon glyphicon-info-sign" %><%= link_to '', {id: b.id, action: 'db_edytujbiala'}, class: "glyphicon glyphicon-pencil" %> &nbsp;&nbsp;&nbsp; <%= link_to '', {id: b.id, action: 'usunbiala'}, data: {confirm: 'Jesteś tego pewien?'}, class: "glyphicon glyphicon-remove" %></td>
          </tr>
      <% end %>
    </table>

这是控制器:

class BazaController < ApplicationController

  def db_bronbiala
    @biala = BronBiala.all
    @iloscbiala = BronBiala.count
  end

  def db_dodajbiala
    @nowybiala = BronBiala.new
  end

  def utworzbiala
    @nowybiala = BronBiala.new(parametrybiala)
    if @nowybiala.save
      redirect_to(action: 'db_bronbiala')
    else
      render('db_dodajbiala')
    end
  end

  def parametrybiala
    params.require(:bron_biala).permit(:nazwa, :obrazenia, :typ, :waga, :zasieg, :szybkosc, :rzadkosc, :zalety, :wady, :ciekawostki, :opis)
  end

  def usunbiala
    usuwaniebiala = BronBiala.find(params[:id]).destroy
    @biala = BronBiala.all
    render('db_bronbiala')
  end

  def db_edytujbiala
    @biala = BronBiala.all
    @edytowanabiala = BronBiala.find(params[:id])
  end

  def aktualizujbiala
    @biala = BronBiala.all
    @edytowanabiala = BronBiala.find(params[:id])
    if @edytowanabiala.update_attributes(parametrybiala)
      redirect_to(action: 'db_bronbiala')
    else
      render('db_edytujbiala')
    end
  end

  def db_wiecejbiala
    @biala = BronBiala.all
    @bialawiecej = BronBiala.find(params[:id])
  end


end

db_bialawiecej代码:

<div class="content">
<h2>Lista:</h2>

<div class="tablecontainer">
  <table class="table table-bordered table-condensed">
<tr class="success">
  <td><b>Nazwa</b></td>
  <td><b>Obrażenia</b></td>
  <td><b>Typ</b></td>
  <td><b>Waga</b></td>
  <td><b>Zasięg</b></td>
  <td><b>Szybkość</b></td>
  <td><b>Rzadkość</b></td>
</tr>
<% @bialawiecej.id do |b| %>
    <tr>
      <td><%= b.nazwa %></td>
      <td><%= b.obrazenia %>%</td>
      <td><%= b.typ %></td>
      <td><%= b.waga %></td>
      <td><%= b.zasieg %></td>
      <td><%= b.szybkosc %></td>
      <td><%= b.rzadkosc %></td>
    </tr>
<% end %>

</div>
</div>

1 个答案:

答案 0 :(得分:0)

点击发送被点击项目的ID(GET)。您的链接类似于:localhost:3000/desired_model/5

然后在行动中@desired_model = DesiredModel.find(params[:id])

将用户重定向到所需的节目页。

显示数据。

下次请提供一些代码:)