2013-03-30 162 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」=> 「真正的」} –