Ruby on Railsに基づいてブログのウェブサイトを構築する方法については、tutorialに従っています。現時点での記事は以下のようになります。カスタムラベルを作成する
記事は、タイトル、本文、以下のコメントがあります。名前とコメントを入力するフィールドには、それぞれ現在「著者名」と「本文」というタイトルが付けられています。これらは、対応する属性に基づいた「デフォルト」の名前です。以下のcomments_controller.rb
を参照してください。
class CommentsController < ApplicationController
def create
@comment = Comment.new(comment_params)
@comment.article_id = params[:article_id]
@comment.save
redirect_to article_path(@comment.article)
end
def comment_params
params.require(:comment).permit(:author_name, :body)
end
end
質問は、カスタムラベル「あなたの名前」と「コメント」にラベル「著者名」と「BODY」を変更する方法です。フォームの表示が部分的_form.html.erb
によって支配されて
<h1><%= @article.title %></h1>
<p><%= @article.body %></p>
<h3>Comments (<%= @article.comments.size %>)</h3>
<%= render partial: 'articles/comment', collection: @article.comments %>
<%= render partial: 'comments/form' %>
<%= link_to "<< Back to Articles List", articles_path %>
<%= link_to "delete", article_path(@article), method: :delete, data: {confirm: "Really delete the article?"} %>
<%= link_to "edit", edit_article_path(@article) %>
:記事は、ビューshow.html.erb
によってレンダリングされる
<%= form_for(@article) do |f| %>
<ul>
<% @article.errors.full_messages.each do |error| %>
<li><%= error %></li>
<% end %>
</ul>
<p>
<%= f.label :title %><br />
<!-- <%= f.label :author_name, "Your name" %><br /> -->
<%= f.text_field :title %>
</p>
<p>
<%= f.label :body %><br />
<!-- <%= f.label :author_name, "Your Name" %> -->
<%= f.text_area :body %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
私がコメントアウト行を使用してカスタマイズされたラベルを実装しようとしましたしかし、これはうまくいかなかった。ラベルをカスタマイズするにはどうしたらいいですか?
コメントアウトしたコードを使用したとき、私はあなたが既存の 'f.label'行をコメントアウトしていると思いますか?あなたがそれを試したときにも、何が起こったのですか?あなたはまだ古いラベルを手に入れましたか?他に何か?何が悪かったのか? – lurker
申し訳ありませんが、私の答えがあなたの質問を解決した場合は、それを受け入れられた答えとしてマークしてください:-) – Alex