我正在使用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包含is_star:boolean属性feed_entries表。因此,我只想使用form_for或link_to将散列参数is_star == true从视图传递到params[:is_star]中。我试着使用下面的方法。
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 %>但是,没有什么是工作,请谁帮我解决这个问题。
发布于 2013-03-31 20:33:15
当作为字符串传递时,true和false在布尔列中使用时会被解析为它们的真值。对于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' %>发布于 2013-03-31 18:35:47
您可以在最终呈现表单的视图中传递父级的值,比如<%=params[:is_start] = 1 %>。我不确定应用程序的布局是如何设置的。还要确保使用attr_accessible :is_start
更新:我可能理解错了你的问题。所以也可以试试这个
<%= f.hidden_field :is_star, value: 'true' %>或者你可以有一个单选按钮?
<%= f.radio_button :is_star, value: 'true' %>https://stackoverflow.com/questions/15728315
复制相似问题