Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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_Ruby On Rails 4_Paperclip_Nested Forms_Nested Attributes - Fatal编程技术网

Ruby on rails 不允许的参数:<;型号名称>;嵌套表单属性(回形针)Rails 4

Ruby on rails 不允许的参数:<;型号名称>;嵌套表单属性(回形针)Rails 4,ruby-on-rails,ruby-on-rails-4,paperclip,nested-forms,nested-attributes,Ruby On Rails,Ruby On Rails 4,Paperclip,Nested Forms,Nested Attributes,我搜索了所有类似的帖子,但无法找出我的代码有什么问题。 错误:不允许参数:照片。 我有一个用户模型,其中有许多项目,然后项目有许多照片。 下面是代码: 型号: 结束更改您的表格,我认为这将解决您的许多问题!成功了!:) class Project < ActiveRecord::Base belongs_to :user has_many :photos, :dependent => :destroy accepts_nested_attributes_for :photos, :

我搜索了所有类似的帖子,但无法找出我的代码有什么问题。
错误:不允许参数:照片。
我有一个用户模型,其中有许多项目,然后项目有许多照片。 下面是代码:
型号:


结束

更改您的表格,我认为这将解决您的许多问题!成功了!:)
class Project < ActiveRecord::Base
belongs_to :user
has_many :photos, :dependent => :destroy 
accepts_nested_attributes_for :photos, :reject_if => lambda { |a| a[:photo].blank? }, :allow_destroy => true 
end


class Photo < ActiveRecord::Base

belongs_to :project
has_attached_file :photo, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/images/:style/missing.png"
validates_attachment_content_type :photo, :content_type => /\Aimage\/.*\Z/
end
class ProjectsController < ApplicationController
before_filter :authenticate_user!
layout 'innerlayout'
before_action :find_user
def new
    @project = Project.new({:user_id => @user.id})
    @project.photos.build

end

def create
    @project = Project.new(project_params)
    if @project.save
        redirect_to(user_path(@user.id))
    else
        render(new_user_project_path(@user.id))
    end
end
...
def project_params
        params.require(:project).permit(:user_id,:title,:description, :photos_attributes => [:id, :photo])
    end
<%= form_for(:project, :url => user_projects_path(@user.id)) do |f| %>

    <%= render(:partial =>"project_form", :locals => {:f => f}) %>
<% end %>
    <%= f.hidden_field :user_id , :value=>@user.id %>

    <%= f.label :title, 'Title'%>
    <%= f.text_field :title%> 

    <%= f.label :description, 'Description' %>
    <%= f.text_field :description%>

    <%= f.fields_for :photos do |builder| %>
        <%= builder.label :photo, "Add Photo" %>
        <%= builder.file_field :photo %>
    <% end %>
    <%= submit_tag "Add", :class => "btn btn-primary" ,:value => nil %>
 create_table "photos", force: :cascade do |t|
t.integer  "project_id"
t.string   "photo_file_name"
t.string   "photo_content_type"
t.integer  "photo_file_size"
t.datetime "photo_updated_at"
t.datetime "created_at",         null: false
t.datetime "updated_at",         null: false