[Rails]つまずいたところ[refile][DELETE機能]

初めに

FundastA の加納です!

今回Ruby on Railsでサイトを作成し、つまずいた所などを記載しておくので、参考になれば幸いです。

バージョン

Ruby Rails
3.1.2 7.0.3

Refileの導入

画像投稿機能にrefileを使用しました。

gem

githubに記載されている[github/refile]
 

と記入して、ターミナルで
$bundle install
で追加したgemをインストールします。

model

次に画像投稿機能を追加したいmodelに**attachment :画像を入れたいカラム名**を追記します。
※今回のカラム名はimage_idですが、ここでは_idをつけないので注意です。

View

次に画像投稿用のフォームを制作です。
※ここが今回ハマったポイントです
自分がみていた参考資料がほとんど
のように記述されており、その通りにプログラムすると下記のエラーがでました。
内容的には**引数の数が間違っています(与えられた3、期待される2;必要なキーワード:オブジェクト)**で表示がされません。
このエラーの記事をみると、バージョンが下げることで解決されています。
しかし何かできないかと試した結果
このように記述すればエラーをなくすことができました。

Controller

次はストロングパラメータに先ほど追加したカラムを許可する必要があります。
※ここでも_idは必要ありません

Delete機能

delete機能のルーティング関連でもハマりました。
railsの標準の機能でdeleteのrouteは作られます。
で削除機能はできるとありましたが、showにルーティングされました。
原因はわかりませんが上記のようにbutton_toで記述するとdeleteにルーティングされるようです。

まとめ

今回、初めてRailsを使用してサイトを作成しましたが、参考にしていた資料のバージョンが古くて、同じ記述をしても動かなかったりかなり苦戦をしました。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA