2016-06-20 2 views
0

나는 Ruby on Rails를 기반으로 블로깅 웹 사이트를 구축하는 방법에 대해 tutorial을 따르고 있습니다. 순간 기사 같은 다음과 같습니다맞춤 라벨 만들기

Article 4

기사는 제목, 본문 및 아래에 의견을 가지고있다. 이름과 설명을 입력하는 입력란에는 현재 각각 "작성자 이름"과 "본문"이라는 제목이 붙습니다. 이것은 해당 속성을 기반으로하는 '기본'이름입니다. 아래의 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"를 변경하는 방법입니다. 이 기사는보기 show.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) %> 

형태의 디스플레이 부분 _form.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 %> 

나는 주석 처리 된 라인을 사용하여 사용자 정의 레이블을 구현하기 위해 노력했습니다 , 그러나 이것은 효과가 없었습니다. 레이블을 어떻게 사용자 정의 할 수 있습니까?

+0

주석 처리 된 코드를 사용했을 때 기존의'f.label' 행을 주석 처리했다고 가정합니다. 또한 당신이 그것을 시도했을 때, 무슨 일이 일어 났습니까? 아직도 오래된 레이블을 가지고 있니? 다른 것? 무엇이 잘못 되었습니까? – lurker

+0

묻고 죄송합니다. 내 대답이 귀하의 질문을 해결 한 경우 답변으로 인정하십시오 :-) – Alex

답변

3

그냥 할 : 제목 및 : 몸 모델에 해당

<%= f.label "Your name" %> 
<%= f.text_field :title %> 

<%= f.label "Your comment" %> 
<%= f.text_area :body %> 

당신이 그것을하고있는 방법은 무엇에 레이블을 설정합니다.

+0

이 솔루션은 작동하지 않는 것 같습니다 : 브라우저를 제안하고 새로 고치면서'_form.html.erb'을 업데이트 한 후 이전과 동일하게 나타납니다 ("성명"대신 "저자 성명"). –

+0

'app/views/articles'에 하나,'app/views/comments'에 하나씩'_form.html.erb'라는 부분이 두 개 있습니다. 대신 "articles"에 수정을 가하고 있습니다 "의견"하나. 둘 다'<% = f.label : body "행을 삽입합니다. 주석"%> "또는 <% = f.label"주석 "%>"은 오른쪽 부분에서 완료되면 작동합니다. –

+0

잘 알고있는 것이 좋습니다. 계속 배우자. :) – Alex

0

나는 여전히 : title 및 : body를 양식에 보관하지만 사용자 정의 레이블을 두 번째 매개 변수로 추가합니다.

<p> 
    <%= f.label :title, "Your name" %><br /> 
    <%= f.text_field :title %> 
</p> 
<p> 
    <%= f.label :body, "Your custom label" %><br /> 
    <%= f.text_area :body %> 
</p>