Ruby on Rails, размещение переменных - PullRequest
0 голосов
/ 19 октября 2010

Я очень новичок в рельсах, так что, надеюсь, это будет быстрое решение.Я пишу приложение, которое ищет базу данных и перезагружает страницу, отображающую желаемые результаты.В рельсах как сохранить вход в поле text_ и опубликовать его, чтобы его можно было извлечь и использовать в запросе для получения данных.

Мое представление:

    <title></title>
</head>

<body>

    Search Collection <br>
     <%= text_field "person", "name" %>
     <%= select_tag(:search_id, '<option value="0">Search by</option><option        value="1">Make</option><option value="2">Condition</option>
                                 <option value="3">Sport</option>') %> 
      <%= link_to 'New catalog', new_catalog_path %>
    <br>
    <br>
     <%= link_to "Search", :search_text => , :action => :index %> <br>
    <br>


    <h1>Results</h1>
    <%= will_paginate @catalogs %>

    <table border="1">
        <tr>
            <th>Catalog id</th>

            <th>Year</th>

            <th>Make</th>

            <th>Card number</th>

            <th>Number</th>

            <th>Condition</th>

            <th>Sport</th>

            <th>Tracking list</th>
        </tr>
        <% for catalog in @catalogs %>

        <tr>
            <td><%= catalog.Catalog_ID %></td>

            <td><%= catalog.Year %></td>

            <td><%= catalog.Make %></td>

            <td><%= catalog.Card_Number %></td>

            <td><%= catalog.Number %></td>

            <td><%= catalog.Condition %></td>

            <td><%= catalog.Sport %></td>

            <td><%= catalog.Tracking_List %></td>

            <td><%= link_to 'Show', catalog %></td>

            <td>
            <%= link_to 'Edit', edit_catalog_path(catalog) %></td>

            <td>
            <%= link_to 'Destroy', catalog, :confirm => 'Are you sure?', :method => :delete %></td>
        </tr>
        <% end %>
    </table>
    <br>

</body>

Мой метод Controller

def index
@search_text = 'T206 White Border'

@catalogs = Catalog.paginate_by_sql ['select * from catalogs where Make =\''+   @search_text+'\'' , 80000], :page => params[:page]


end

Будьте осторожны, если это легко исправить, я все еще привыкаю ко всему MVC

1 Ответ

1 голос
/ 19 октября 2010

В вашем вопросе лот продолжается, поэтому давайте попробуем разобрать его по одному фрагменту за раз.Во-первых, я предполагаю, что в вашей базе данных есть таблица с именем catalogs со столбцом с именем make и что вы используете плагин will_paginate.Похоже, вы начали с копирования и изменения некоторых примеров прямо из документации.Во-первых, ваш контроллер - вам не нужно более сложное paginate_by_sql, вы можете использовать более простой paginate.

контроллер:

def index
  @catalogs = Catalog.paginate(:all, :conditions => {:make => params[:search]}, :page => params[:page])
end

Теперь ваш взгляд, просто материалотношение к поиску:

<% form_tag catalogs_path, :method => :get do %>
  <%= text_field_tag 'search' %>
  <%= submit_tag 'submit search' %>
<% end %>

И это все.Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...