首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从视图传递布尔型属性的Hash参数?

如何从视图传递布尔型属性的Hash参数?
EN

Stack Overflow用户
提问于 2013-03-31 18:01:33
回答 2查看 381关注 0票数 0

我正在使用Meta-search Gem通过下面的控制器操作从表中进行搜索。我使用的是Rails版本3.2.9。

代码语言:javascript
复制
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_forlink_to将散列参数is_star == true从视图传递到params[:is_star]中。我试着使用下面的方法。

代码语言:javascript
复制
In Views/feed_entries/index.html.erb

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

但是上面的方法现在起作用了,所以我决定用下面的方法来使用form_for。

代码语言:javascript
复制
<%= form_for(@is_star) do |f|%>
    <%= f.hidden_field :is_star_is_true %>
    <%= f.submit "Search" %>
<% end %>

但是,没有什么是工作,请谁帮我解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2013-03-31 20:33:15

当作为字符串传递时,truefalse在布尔列中使用时会被解析为它们的真值。对于0、1、'0‘和'1’也是如此

代码语言:javascript
复制
>> m = Model.new
>> m.active = 'false'
>> m.active? # false
>> m.active = 'true'
>> m.active? # true

了解了这一点,您可以将'true‘作为hidden_field的值传递

代码语言:javascript
复制
<%= f.hidden_field :is_start, value: 'true' %>
票数 1
EN

Stack Overflow用户

发布于 2013-03-31 18:35:47

您可以在最终呈现表单的视图中传递父级的值,比如<%=params[:is_start] = 1 %>。我不确定应用程序的布局是如何设置的。还要确保使用attr_accessible :is_start

更新:我可能理解错了你的问题。所以也可以试试这个

代码语言:javascript
复制
<%= f.hidden_field :is_star, value: 'true' %>

或者你可以有一个单选按钮?

代码语言:javascript
复制
<%= f.radio_button :is_star, value: 'true' %>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15728315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档