簡體   English   中英

沒有模型的Ruby on Rails表單復選框?

[英]Ruby on Rails form checkbox without model?

我想在我的表單中創建一個普通的復選框元素,我將在我的控制器的 index 方法中引用它。 布爾值將確定我希望設置用於過濾初始化的兩個范圍之一。 復選框值不會用於表單提交,也不會保存在數據庫中,它只是用於確定用戶是否希望在選擇 -all - 選項時查看“已關閉”票證(默認為排除已關閉)門票。)

我在瀏覽我一直在閱讀的所有搜索結果時度過了一段糟糕的時光。 可能有人為我感到難過並告訴我如何繼續? 將不勝感激。

感謝您花時間閱讀我的問題,我非常重視您的關注。

如果我讀了你的問題,你需要 check_box_tag 這是參考,下面是示例代碼

<%= check_box_tag 'receive_email', 'no',false, class: "name" %> 

信息:

  • receive_email = 只是局部變量名
  • 'no' = 樣本值,你可以用整數/字符串填充它
  • false = 呈現時的默認復選框條件

這些信息對我非常有用。

使用復選框但不希望將其包含為模型的一部分而不將其保存到數據庫的示例。

模型:這都是關於attr_accessorattr_accessible

attr_accessor           :checkbox_checked
attr_accessible         :checkbox_checked

看法

...
<%= f.check_box :checkbox_checked %>
  <span class="small_label">See closed tickets?</span>
...

控制器

...
    if params[:user][:checkbox_checked] == "1"
        # do something
    end
...

來源: 如何在 Rails 中創建虛擬屬性

明確並審查強參數也很重要

希望這對我有幫助,我想更詳細地解釋一下,但我對這個話題很陌生。

您應該可以使用表單元素上的check_box方法添加它。

<%= form_with: @model do |form| %>
  <%= form.email :field_on_model %>
  <%= form.check_box :field_not_on_model %>
  ... 
<% end %>

在 params 哈希內部,您將看到: {"field_on_model" => "travis@example.com", "field_not_on_model" => "0"}

所以你應該能夠用params['field_not_on_model']做任何你需要params['field_not_on_model']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM