Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 另外,非回形针属性在更新模型时会忽略,方法是通过接受\u嵌套的\u属性\u_Ruby On Rails_Paperclip_Nested Attributes_Fields For - Fatal编程技术网

Ruby on rails 另外,非回形针属性在更新模型时会忽略,方法是通过接受\u嵌套的\u属性\u

Ruby on rails 另外,非回形针属性在更新模型时会忽略,方法是通过接受\u嵌套的\u属性\u,ruby-on-rails,paperclip,nested-attributes,fields-for,Ruby On Rails,Paperclip,Nested Attributes,Fields For,我有一个模型“更新”,它有很多“资产”。资产已使用回形针附加了资产的文件 我可以通过更新表单成功创建多个资产(使用的字段),但在编辑更新时,我无法更新资产上名为“排序顺序”的附加非回形针属性。新值已发布,但对象似乎未更新 型号/资产.rb ... belongs_to :update ... has_many :assets, :dependent => :destroy ... accepts_nested_attributes_for :assets, :allow_destroy

我有一个模型“更新”,它有很多“资产”。资产已使用回形针附加了资产的文件

我可以通过更新表单成功创建多个资产(使用的
字段),但在编辑更新时,我无法更新资产上名为“排序顺序”的附加非回形针属性。新值已发布,但对象似乎未更新

型号/资产.rb

...
belongs_to :update
...
has_many :assets, :dependent => :destroy
...
accepts_nested_attributes_for :assets, :allow_destroy => true
<ul class="existing-images">
    <%= f.fields_for :assets do |a| %>
        <% unless a.object.new_record? %>
            <li>
                <%= link_to image_tag(a.object.asset.url(:small)), a.object.asset.url(:original) %>

                <%= a.check_box :_destroy %>
                <%= a.label :_destroy %>

                <%= a.text_field :sort_order %>
                <%= a.label :sort_order %>
            </li>
        <% end %>
    <% end %>
    </ul>
型号/update.rb

...
belongs_to :update
...
has_many :assets, :dependent => :destroy
...
accepts_nested_attributes_for :assets, :allow_destroy => true
<ul class="existing-images">
    <%= f.fields_for :assets do |a| %>
        <% unless a.object.new_record? %>
            <li>
                <%= link_to image_tag(a.object.asset.url(:small)), a.object.asset.url(:original) %>

                <%= a.check_box :_destroy %>
                <%= a.label :_destroy %>

                <%= a.text_field :sort_order %>
                <%= a.label :sort_order %>
            </li>
        <% end %>
    <% end %>
    </ul>
我没有在两种型号上使用
attr\u accessible

查看/更新/_form.html.erb

...
belongs_to :update
...
has_many :assets, :dependent => :destroy
...
accepts_nested_attributes_for :assets, :allow_destroy => true
<ul class="existing-images">
    <%= f.fields_for :assets do |a| %>
        <% unless a.object.new_record? %>
            <li>
                <%= link_to image_tag(a.object.asset.url(:small)), a.object.asset.url(:original) %>

                <%= a.check_box :_destroy %>
                <%= a.label :_destroy %>

                <%= a.text_field :sort_order %>
                <%= a.label :sort_order %>
            </li>
        <% end %>
    <% end %>
    </ul>
(“sort_order”=>“20”是新值)但未保存该值

这也是尽管_destroy复选框按预期工作


希望这是足够的信息;如果有人能帮助我,我将非常感激

我认为您必须在资产模型中使用attr\u accessible:

attr_accessible :sort_order
那应该能解决你的问题