Ruby on rails Rails表单文件上载新手问题
检索文件上载信息时出现问题。我刚刚开始学习Rails 我正在使用ruby 2.0.0p0 和轨道4.0.0.1 这是我的表格:Ruby on rails Rails表单文件上载新手问题,ruby-on-rails,forms,ruby-on-rails-4,Ruby On Rails,Forms,Ruby On Rails 4,检索文件上载信息时出现问题。我刚刚开始学习Rails 我正在使用ruby 2.0.0p0 和轨道4.0.0.1 这是我的表格: <%= form_for(@person, :html => { :multipart => true }) do |f| %> <div class="field"> <%= f.label :photo %><br /> <%= f.file_field :photo %> </d
<%= form_for(@person, :html => { :multipart => true }) do |f| %>
<div class="field">
<%= f.label :photo %><br />
<%= f.file_field :photo %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
我可以在控制台中看到什么都没有发生(没有“PHOTO”输出),PHOTO方法从未被调用。
为什么呢
当我查看控制台时,我也看到了这句让我担心的话:
Unpermitted parameters: photo
这意味着什么?在您的控制器中,您处理
参数时,需要使用。允许列出允许发布表单的属性:
@person = Person.new(params.require(:person).permit(:photo))
或者,如果使用Rails的脚手架生成器,您可能需要使用person\u params
方法,在该方法中需要添加:photo
属性:
def person_params
params.require(:person).permit(:photo, :name, etc...)
end
在您处理参数的控制器中
,您需要使用.permit
列出允许表单发布的属性:
@person = Person.new(params.require(:person).permit(:photo))
或者,如果使用Rails的脚手架生成器,您可能需要使用person\u params
方法,在该方法中需要添加:photo
属性:
def person_params
params.require(:person).permit(:photo, :name, etc...)
end
如果您刚刚开始学习Rails,在正式发布之前,我不会使用Rails 4测试版。您遇到的确切问题可能不会发生在Rails 3.2中。您是对的。我想我在安装Rails时没有注意。如果您刚刚开始学习Rails,我将尝试切换回3(我的学习手册是针对Rails 3的),在正式发布之前,我不会使用Rails 4测试版。您遇到的确切问题可能不会发生在Rails 3.2中。您是对的。我想我在安装Rails时没有注意。我将尝试切换回3(无论如何,我的学习手册是针对Rails 3的)是的,找到了。这很有道理。谢谢,找到了。这很有道理。非常感谢。