我应该使用哪种属性类型的价格?

时间:2014-06-10 15:39:12

标签: ruby-on-rails attributes

我希望用户选择价格范围(收藏品),但他们也会选择&#34;我不知道&#34;,所以我无法价格< / strong>一个整数,因为&#34;我不知道选项&#34;不会保存到ddbb ...我应该价格一个字符串吗?

注意:之后我将使用&#34;按价格搜索&#34;

进行高级搜索

更新#1

我希望用户从价格范围中选择价格。在那个价格范围内,我还有两个选择:&#34;我不知道&#34;和&#34;固定价格&#34;。如果用户选择我不知道,我该如何处理?如果用户选择&#34;固定价格&#34;,如何判断简单表格我需要为此新值输入新内容?

更新#2

我的收藏:

<%= f.input :price, collection: ["0-10","11-20","21-50","51-100","101-200","201-500","500-1000","1000-2000","2000-4000", "Más de 4000"], label: "¿Cuanto te costó?" ,placeholder: "Euros aproximados", html_input: "required", input_html: {class: 'ipt'} %>

更新#3

我补充说:

<%= f.input :price, collection: ["-2","-1","0-10","11-20","21-50","51-100","101-200","201-500","500-1000","1000-‌​2000","2000-4000", "Más de 4000"], label: "¿Cuanto te costó?" ,placeholder: "Euros aproximados", html_input: "required", input_html: {class: 'ipt'}, id: "price" %> 

以价格作为身份证,但它不会起作用。当我选择-2选项时,它不会显示另一个输入。注意:我在模态中,可能是它的原因吗?

更新#4

一切正常,但我有问题。值仅存储为-1,-2,因此当我想打印产品价格范围时,它会打印-2。我如何处理印刷范围和&#34;我不知道&#34;它们在ddbb中存储为-1和-2时的值?我应该开始考虑将事物保存为字符串而不是整数吗?你觉得我应该怎么处理这个问题?

另一个解决方案?谢谢!

1 个答案:

答案 0 :(得分:1)

由于价格范围不能为负整数,因此您可以将"I don't know"的值设为-1并保存,以便:

  • 它节省了内存(整数优于String)。
  • 您可以使用相同的数据类型。
  • -1值的资金为"I don't know"
  • -2值的资金为"Fixed Price"

更新

现在这变得越来越复杂了。使用JavaScript执行此操作。以这种方式收集你的收藏品后:

collection: ["-2","-1","0-10","11-20","21-50","51-100","101-200","201-500","500-1000","1000-2000","2000-4000", "Más de 4000"]

使用jQuery来操作输入。比如说,如果它生成如下代码:

<select id="price" name="price">
    <option value="-2">-2</option>
    <option value="-1">-1</option>
    <option value="0-10">0-10</option>
    ...
    ...
</select>

现在使用jQuery并执行以下操作:

$(document).ready(function(){
    $("#price").find('option[value="-2"]').html("Fixed Price!");
    $("#price").find('option[value="-1"]').html("I don't know!");
    $("#price").change(function(){
        if ($(this).val() == -2)
            $('<input type="text" name="customPrice" />').insertAfter(this);
    });
});