Ruby On Rails — действует как пометка — изменить имя параметра: ключевое слово

Интересно, можно ли/как изменить имя параметра: ключевое слово при использовании действий в качестве тегов?

Сегодня мой адрес выглядит так:

http://www.foo.bar/tagged?keyword=baz

Я хотел бы изменить "ключевое слово" на другое слово.

контроллер

  def tagged
    @current_keyword = params[:keyword]
    @tags = FeedEntry.tag_counts_on(:keyword)
    @tagged_feed_entries = FeedEntry.tagged_with(params[:keyword]).order("published_at desc").paginate :page => params[:sida]
  end

Просмотр:

 <table class="table table-striped">
    <tbody>
    <% if @tags %>

        <% @tagged_feed_entries.each do |feed_entry| %>
            <tr>
              <td>
                <% today = Date.today %>
                <% if (today === feed_entry.published_at.to_date) %>
                    <span class="label label-success">
                <% else %>
                    <span class="label">
                <% end %>
                <%= format_stamp_to_date(feed_entry.published_at) %>
                kl:
                <%= I18n.localize(feed_entry.published_at, :format => '%H:%M') %>
                </span>


              </td>
              <td><%= link_to feed_entry.name, feed_entry_path(feed_entry) %></td>
            </tr>
        <% end %>

    <% end %>
    </tbody>
  </table>

  <%= will_paginate @tagged_feed_entries, :param_name => :sida %>

person Philip    schedule 29.05.2012    source источник
comment
Как выглядит ваш код контроллера/представления?   -  person Nick Colgan    schedule 29.05.2012
comment
@xnm Я обновил свой вопрос, спасибо! :)   -  person Philip    schedule 29.05.2012


Ответы (1)


Вы должны просто заменить все экземпляры params[:keyword] на params[:whatever]. Затем ваш путь становится http://www.foo.bar/tagged?whatever=baz.

Если у вас есть форма поиска, вам также придется внести в нее соответствующие изменения.

person Nick Colgan    schedule 29.05.2012
comment
Проблема, с которой я сталкиваюсь при этом, заключается в том, что все мои предыдущие ключевые слова исчезают... Как я могу сопоставить старые ключевые слова с новым параметром? - person Philip; 30.05.2012
comment
Или мне нужно перенести/переименовать старые ключевые слова в новую строку с именем моего параметра в базе данных? - person Philip; 30.05.2012
comment
Это никак не повлияет на ваши записи, если только вы не измените FeedEntry.tag_counts_on(:keyword). - person Nick Colgan; 30.05.2012
comment
Кроме того, хотя переименование вашего столбца не обязательно, это, вероятно, лучшая практика, которая позволит вам выполнить массовое назначение (например, FeedEntry.create(params[:feed_entry])) - person Nick Colgan; 30.05.2012