Haml에서 textarea를 사용할 때의주의
사용한 버전
루비 2.3.1
Rails 5.0.0.1
샘플 프로젝트 준비
사푼풀 프로젝트 만들기
$ rails new sample
Haml을 사용하도록 Gem 추가
Gemfile에 다음을 추가하고
bundle install
gem 'haml-rails'
gem 'erb2haml'
text형의 필드를 가지는 페이지를 생성
tests
라는 테이블에 text_value
라는 text형의 열만을 정의해 생성$ rails g scaffold test text_value:text
$ rake db:migrate
이것으로 준비 완료
텍스트 필드에 입력
우선은 생성한 상태로 복수행 입력한다
(생성한 채로 textarea가 작기 때문에
cols: "50", rows: "10"
를 설정하고 있다)등록한 데이터를 편집 화면을 보면, 2, 3행째의 선두에 스페이스가 들어 버리고 있다
이것은 textarea에 설정된 값에 Haml
f.text_area
를 설명하는 행의 들여 쓰기가 포함되어 있기 때문입니다.DB에 등록되었을 때는 스페이스는 들어 있지 않지만, 편집 화면에서 이것을 그대로 save하면 DB에도 스페이스가 등록되어 버린다
이를 방지하려면 다음 설정을 추가하십시오 (아래 파일이 없으므로 직접 작성)
config/initializers/haml.rb
Haml::Template.options[:ugly] = true
이제 편집 화면을 보면 무사히 선두의 여분의 공간이 없어진다.
텍스트 필드 표시
이어서, 이전의 text 필드에의 입력으로 등록한 데이터를 표시
표시 화면을 열면, text형의 필드는 이하와 같이 1행이 되어 표시되어 버린다
개행을 제대로 반영시키려면 다음과 같이 수정한다(
simple_format(h(対象の値))
)app/views/tests/show.html.haml
%b Text value:
= simple_format(h(@test.text_value))
이것으로 표시 화면을 보면, 제대로 개행된 상태로 표시된다
오시마
Reference
이 문제에 관하여(Haml에서 textarea를 사용할 때의주의), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/masch/items/e7ebd5e63b126f63fabf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)