2012-05-29 4 views
0

Интересно, если/как изменить имя ключевого слова param: при использовании act as taggable?Ruby On Rails - Действует как Taggable - Измените имя param: keyword

Сегодня мой URL выглядит следующим образом:

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 %> 
+0

Как выглядит ваш контроллер/код вида? –

+0

@xnm Я обновил свой вопрос, спасибо! :) – Philip

ответ

0

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

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

+0

Проблема, с которой я сталкиваюсь при этом, заключается в том, что все мои предыдущие «ключевые слова» исчезают ... Как я могу сопоставить старые ключевые слова с новым параметром? – Philip

+0

Или мне нужно перенести/переименовать старые ключевые слова в новую строку с именем моего параметра в базе данных? – Philip

+0

Он не должен влиять на ваши записи вообще, если вы не меняете 'FeedEntry.tag_counts_on (: keyword)'. –