dogdog2525 score 14
2020/03/19 01:03 投稿
Rails 投稿内容が反映されない |
Railsで画像の新規投稿を行いたいのですが、投稿した画像が反映されません。 |
```ここに言語を入力 |
#route.rb |
Rails.application.routes.draw do |
devise_for :users |
get 'tweets/index' |
root "tweets#index" |
resources :users ,only: :show |
resources :tweets |
# collection do |
# get 'search' |
# end |
# end |
end |
#tweets_controller |
class TweetsController < ApplicationController |
def index |
@tweets = Tweet.all |
end |
def new |
@tweet = Tweet.new |
end |
def create |
Tweet.create(tweet_params) |
end |
def destroy |
tweet = Tweet.find(params[:id]) |
tweet.destroy |
end |
def edit |
@tweet = Tweet.find(params[:id]) |
end |
def update |
tweet = Tweet.find(params[:id]) |
tweet.update(tweet_params) |
end |
def show |
@tweet = Tweet.find(params[:id]) |
end |
private |
def tweet_params |
params.require(:tweet).permit(:image,:text) |
end |
end |
#tweet.rb |
class Tweet < ApplicationRecord |
# belongs_to :user |
# has_many :tweets |
validates :image, presence: true |
mount_uploader :image, ImageUploader |
belongs_to :user |
def self.search(search) |
if search |
Tweet.where('text LIKE(?)', "%#{search}%") |
else |
Tweet.all |
end |
end |
end |
ビューファイル |
.main |
.mainindex |
- @tweets.each do |tweet| |
.content{:style => "background-image: url(#{tweet.image});"} |
-# = link_to("/tweets/#{tweet.id}", method: :get) do |
-# =tweet.title |
= link_to asset_url("/tweets/#{tweet.id}", method: :get) do |
-# = image_tag "/tweets/#{tweet.id}", method: :get |
.mainname |
.mainnameleft |
=current_user.name |
.mainnameright |
= tweet.updated_at.strftime("%Y-%m-%d %H:%M") |
投稿してもデータベースにデータが反映されていなかったのでおそらく、モデルかコントローラーでエラーが起きているのではないかと思いますが原因がわかりません。 |
投稿してもデータベースにデータが反映されていなかったのでおそらく、モデルかコントローラーでエラーが起きているのではないかと思いますが原因がわかりません。直接データベースに値を入れたら正常に表示はされましたのでおそらくモデルなのかなと思います。 |
``` |