2013-03-30 134 views
0

控制器如何通过link_to传递参数?

class FeedEntriesController < ApplicationController 
    def index 
    @search = FeedEntry.search(params[:search]) 
    @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", :search => ['is_star = ?', true] }%> 

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

但上述代码不起作用。请有人帮助我。

+0

能够在控制器来访问你什么时候检查'is_star'是'真/假?'。和'params [:search]',如果它是一个你不能通过其他对象类型的字符串。所以你必须运行一个查询来检查'is_start'在取决于你的工作流程之前还是之后是真的还是假的。 – shayonj

回答

1

尝试

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

然后你应该使用params[:is_star]

+0

也无法正常工作,出现如下错误:undefined method'stringify_keys!'为“true”:字符串 –

+0

控制器中的哪一行会给出错误?你使用的是哪个版本的Ruby/Rails? – chrisbulmer

+0

我在下面的浏览器中出现错误。 FeedEntriesController中的NoMethodError#index 未定义的方法'stringify_keys!'为“true”:字符串 Rails.root:/ home/arunkumark/rails_projects/intertask/rss_feeds Application Trace |框架跟踪|全面跟踪 应用程序/控制器/ feed_entries_controller.rb:3:'指数” 请求 参数: { “is_star”=> “真正的”} –