Rubbyon Rails를 통해 트위터 웹 응용 프로그램 STEP4 만들기: 발표 기능의 일람 디스플레이, 새로운 투고
7875 단어 Rails
명령행
$ rails g model Tweet body:string user_id:integer
$ rails db:migrate
발언 컨트롤러 만들기명령행
$ rails g controller Tweets index new create show edit destroy
라우팅 설정config/routes.rb
resources :users do
resources :tweets, only: [:new,:create]
end
get "tweets/index"
사용자 모델과 트위터 모델을 연결합니다app/models/users.rb
has_many :tweets
app/models/tweets.rbbelongs_to :user
새로 게시된 뷰 작성app/views/tweets/new.html.erb
<h3 class="page-header">今日の出来事をつぶやこう</h3>
<%= form_for([@user, @user.tweets.build]) do |f| %>
<p><%= f.label :body,"投稿内容" %></p>
<p><%= f.text_area :body %></p>
<p><%= f.submit "投稿", class: "btn btn-primary" %></p>
<% end %>
발언 목록 보기 만들기app/views/tweets/index.html.erb
<h3 class="page-header">ツイート一覧</h3>
<ul class="list-group">
<% @tweet.each do |tweet| %>
<li class="list-group-item">
<span class="badge text-danger"><%= link_to "[削除]",tweets_destroy_path,method: :delete %></span>
<%= tweet.body %>
</li>
<% end %>
</ul>
Twitter 컨트롤러 설정app/controllers/tweets_controller.rb
class TweetsController < ApplicationController
def index
@tweet = Tweet.all
end
def new
@user = User.find(params[:user_id])
end
def create
@user = User.find(params[:user_id])
@user.tweets.create(tweet_params)
redirect_to tweets_index_path
end
def destroy
@tweet = Tweet.find(params[:id])
if @tweet.destroy
redirect_to "/",flash: {danger: "投稿を削除しました"}
end
end
private
def tweet_params
params.require(:tweet).permit(:body)
end
브라우저에서 발언 기능 확인Reference
이 문제에 관하여(Rubbyon Rails를 통해 트위터 웹 응용 프로그램 STEP4 만들기: 발표 기능의 일람 디스플레이, 새로운 투고), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/JUM22676603/items/c02762182498a2f615f2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)