私はレールが初めてです。数週間学んでいます。私の愚かさを許してください。アップロードするために選択したファイルを取得できません。
Rails 4.0.0 を使用しています。
私は最初のアプリケーションに取り組んでおり、ブログ アプリケーションのレール ガイドに従うことから始めました。私はそれを取り、それを実行し、ロープを学ぼうとして別のもの (バグ追跡システム) を作成しています。
だから、私は私のフォームを持っています:
<%= form_for @post do |f| %>
file_field に追加しました。ビューからの表示部分は、ファイルの選択に関する限り、見た目も機能も良好です。
<%= f.label :attachment %>
<%= f.file_field :attachment %>
参考までに、これをレール 4 ガイドから引き出しました。したがって、私のコントローラーは次のようになります。
class PostsController < ApplicationController
def new
@post = Post.new
end
def create
@post = Post.new(params[:post].permit(:title, :text, :user, :screen))
if @post.save
redirect_to posts_path
else
render 'new'
end
end
def show
@post = Post.find(params[:id])
end
def index
@posts = Post.all
end
def edit
@post = Post.find(params[:id])
end
def update
@post = Post.find(params[:id])
if @post.update(params[:post].permit(:title, :text, :user, :screen))
redirect_to posts_path
else
render 'edit'
end
end
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect_to posts_path
end
def upload
uploaded_io = params[:post][:attachment]
File.open(Rails.root.join('public', 'uploads', uploaded_io.original_filename), 'w') do |file|
file.write(uploaded_io.read)
end
end
private
def post_params
params.require(:post).permit(:title, :text, :user, :screen, :attachment)
end
end
ここの新しい作品はアップロードです。他のすべては、データベースからの書き込み/読み取りと表示で正常に機能しています。ビューが表示されたら、テキストを入力し、ファイルを添付して [送信] をクリックします。すべてがデータベースに書き込まれ、インデックスに表示されますが、添付しようとしたファイルが ~/bugs/public/uploads/ に書き込まれません
助けてくれてありがとう。