如何通过link_to传递params参数?

时间:2013-03-30 18:14:30

标签: ruby-on-rails

在控制器

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

1 个答案:

答案 0 :(得分:1)

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

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

BTW link_to与&#39; controller&#39;和&#39;行动&#39; options是旧的和详细的语法,你应该使用资源丰富的样式:

link_to 'Stared', feed_entries_path

在此处阅读更多内容:http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to