0

在控制器中

class FeedEntriesController < ApplicationController
  def index
    @search = FeedEntry.search(params[:is_star])
    @feed_entries = @search.page(params[:page])
    @app_keys = AppKey.all
  end
end

在视图中 - feed_entries/index.html.erb

<%= link_to "Stared", {:controller => "feed_entries", :action => "index", :is_star => false } %>

feed_entries 表包含is_star:boolean属性。所以,我只想将参数 is_star == true 传递给params[:is_star].

但是上面的代码不起作用。请有人帮助我。

如果,我点击Stared链接。我在浏览器中收到如下错误:

undefined method `stringify_keys!' for "false":String
4

1 回答 1

1

看起来您的 FeedEntry#search 方法需要一个响应 #stringify_keys 的参数!方法,所以我假设你应该传递一个 Hash :

@search = FeedEntry.search(is_star: params[:is_star])

顺便说一句,带有 'controller' 和 'action' 选项的 link_to 是陈旧而冗长的语法,您应该使用足智多谋的风格:

link_to 'Stared', feed_entries_path

在这里阅读更多:http: //api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to

于 2013-03-30T18:50:56.373 回答