我正在使用Meta-search Gem通过以下控制器操作从表中搜索。我正在使用Rails版本3.2.9。
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表包含is_star:boolean属性。所以,我只想使用is_star == true
或params[:is_star]
将哈希参数form_for
传递到link_to
视图中。我尝试使用以下方式。
In Views/feed_entries/index.html.erb
<%= link_to "Stared", {:controller => "feed_entries", :action => "index", :is_star => true }%>
但上面的方法现在已经工作了,所以我决定以下面的方式使用form_for,
<%= form_for(@is_star) do |f|%>
<%= f.hidden_field :is_star_is_true %>
<%= f.submit "Search" %>
<% end %>
但是,没有任何工作,请有人帮我解决这个问题。
答案 0 :(得分:1)
true
和false
在布尔列中使用时被解析为它们的truthy值。对于0,1,'0'和'1'
>> m = Model.new
>> m.active = 'false'
>> m.active? # false
>> m.active = 'true'
>> m.active? # true
知道这一点,你可以传递'true'作为hidden_field
<%= f.hidden_field :is_start, value: 'true' %>
答案 1 :(得分:0)
您可以使用<%=params[:is_start] = 1 %>
之类的内容传递表单所在的视图中父级的值。我不确定如何设置应用程序的布局。还要确保attr_accessible :is_start
更新:我可能已经理解你的问题了。所以试试这个
<%= f.hidden_field :is_star, value: 'true' %>
或者你可以有一个单选按钮?
<%= f.radio_button :is_star, value: 'true' %>