首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当控制器方法使用路径传递时,我能够在控制器方法中使用布尔参数吗?

当控制器方法使用路径传递时,我能够在控制器方法中使用布尔参数吗?
EN

Stack Overflow用户
提问于 2015-08-18 00:21:15
回答 1查看 764关注 0票数 0

这在我的索引视图中,我想访问类似的: false/true参数

代码语言:javascript
复制
    <%= link_to like_theory_path(theory, like: true), method: :post do %>
      <i class="glyphicon glyphicon-thumbs-up"></i> 
      &nbsp
      <%= theory.thumbs_up_total %>
    <% end %>
    &nbsp
    &nbsp
    <%= link_to like_theory_path(theory, like: false), method: :post do %>
      <i class="glyphicon glyphicon-thumbs-down"></i>
      &nbsp
      <%= theory.thumbs_down_total %>
    <% end %>

这个在我的控制器里

代码语言:javascript
复制
    if :like

      if like.like
        like.delete
      else
        like.delete
        like = Like.create(like: params[:like], theorist: current_user,  theory: @theory)
        like.valid?
      end

  else
    binding.pry
    if like.like
      like.delete
      like = Like.create(like: params[:like], theorist: current_user, theory: @theory)
      like.valid?
    else
      like.delete
    end

  end

因此,不管是真是假,它都不会击中the语句。

我是否正确地使用了这个,或者它在技术上根本不是一个参数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-18 00:43:54

link_to助手通过params哈希传递参数。params哈希包含类型为string的值,因此不能传递布尔值。

然而,您可以做的是传递布尔值的其他表示形式,如"1“或"0",或"true”或"false“,并创建与控制器方法中传递的值对应的实际布尔值。

您可能希望创建一个虚拟属性,这样字符串like就不会与模型的布尔like字段发生冲突。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32061705

复制
相关文章

相似问题

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