Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.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 Rails 4、回形针和多态关联_Ruby On Rails_Paperclip - Fatal编程技术网

Ruby on rails Rails 4、回形针和多态关联

Ruby on rails Rails 4、回形针和多态关联,ruby-on-rails,paperclip,Ruby On Rails,Paperclip,我有两个模型:新闻和上传文件 class News < ActiveRecord::Base has_many :uploadedfiles, as: :parent attr_accessible :title, :content, :author end class Uploadedfile < ActiveRecord::Base belongs_to :parent, polymorphic: true has_attached_file :

我有两个模型:新闻和上传文件

class News < ActiveRecord::Base
    has_many :uploadedfiles, as: :parent
    attr_accessible :title, :content, :author
end

class Uploadedfile < ActiveRecord::Base
    belongs_to :parent, polymorphic: true
    has_attached_file :url
    attr_accessible :url_file_name, :url_content_type, :url_file_size, :url_updated_at
end
class新闻
及表格:

<%= form_for(@news) do |f| %>

    <div class="field">

        <%= f.fields_for :uploadedfile, f.uploadedfile.new do |uf| %>
            <%= uf.label :url %><br>
            <%= uf.file_field :url %>
        <% end %>

    </div>

  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>


当我提交表单时,我的表
uploadedfile
不会更改


问题在哪里?谢谢大家!

我认为这里不需要多态关联。以下是一种更具可读性的方法:

class News < ActiveRecord::Base
    has_many :uploadedfiles
    attr_accessible :title, :content, :author
    accept_nested_attributes_for :uploadedfiles
end

class Uploadedfile < ActiveRecord::Base
    belongs_to :news
    has_attached_file :url
    attr_accessible :url_file_name, :url_content_type, :url_file_size, :url_updated_at
end
class新闻
*请注意,我为

及表格:

<%= form_for(@news) do |f| %>

    <div class="field">

        <%= f.fields_for :uploadedfiles do |uf| %>
            <%= uf.label :url %><br>
            <%= uf.file_field :url %>
        <% end %>

    </div>

  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>



我认为这里不需要多态关联。以下是一种更具可读性的方法:

class News < ActiveRecord::Base
    has_many :uploadedfiles
    attr_accessible :title, :content, :author
    accept_nested_attributes_for :uploadedfiles
end

class Uploadedfile < ActiveRecord::Base
    belongs_to :news
    has_attached_file :url
    attr_accessible :url_file_name, :url_content_type, :url_file_size, :url_updated_at
end
class新闻
*请注意,我为

及表格:

<%= form_for(@news) do |f| %>

    <div class="field">

        <%= f.fields_for :uploadedfiles do |uf| %>
            <%= uf.label :url %><br>
            <%= uf.file_field :url %>
        <% end %>

    </div>

  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>



我想你有嵌套的arribute
:上传的文件

class News < ActiveRecord::Base
     has_many :uploadedfiles, as: :parent
    attr_accessible :title, :content, :author, :uploadedfiles_attributes
    accept_nested_attributes_for :uploadedfiles
end
class新闻
形式如下: 更改:


致:


我想你有嵌套的arribute
:上传的文件

class News < ActiveRecord::Base
     has_many :uploadedfiles, as: :parent
    attr_accessible :title, :content, :author, :uploadedfiles_attributes
    accept_nested_attributes_for :uploadedfiles
end
class新闻
形式如下: 更改:


致:



谢谢!现在ruby正在以表单的形式构建helper,但是sql表
uploadedfile
没有更改:c也许我应该向controller添加一些代码?因为您使用的是Rails 4,所以您需要允许这些参数。应该有类似params.require(:news)、permit(:name…)的东西。您应该添加uploadedfiles字段。像这样:params.require(:news)。permit(:name,:whatever,,:uploadedfiles_attributes=>[:url])我已经允许了这些参数:params.require(:news)。permit(:title,:content,:author,:uploadedfiles_attributes=>[:url])我不知道如何在rub中做你的控制器:puts params.inspects谢谢!现在ruby正在以表单的形式构建helper,但是sql表
uploadedfile
没有更改:c也许我应该向controller添加一些代码?因为您使用的是Rails 4,所以您需要允许这些参数。应该有类似params.require(:news)、permit(:name…)的东西。您应该添加uploadedfiles字段。像这样:params.require(:news)。permit(:name,:whatever,,:uploadedfiles_attributes=>[:url])我已经允许了这些参数:params.require(:news)。permit(:title,:content,:author,:uploadedfiles_attributes=>[:url])我不知道如何在rub中做你的控制器:puts params.inspects谢谢!我刚刚添加了:uploadedfiles\u属性到attr\u,可在新闻模型中访问,现在在sql表中添加了行。但是上传的文件字段是空的!我刚刚将
:url
重命名为
:file
,并将字符串
attr\u accessible:file
添加到
上传文件
模型。它起作用了!非常感谢。我刚刚添加了:uploadedfiles\u属性到attr\u,可在新闻模型中访问,现在在sql表中添加了行。但是上传的文件字段是空的!我刚刚将
:url
重命名为
:file
,并将字符串
attr\u accessible:file
添加到
上传文件
模型。它起作用了!