[RUBY-ON-RAILS] 누군가가 명확하고 간단한 용어 나에게 collection_select를 설명 할 수 있습니까?
RUBY-ON-RAILS누군가가 명확하고 간단한 용어 나에게 collection_select를 설명 할 수 있습니까?
나는 collection_select에 대한 레일 API 문서를 통해 갈거야 그리고 그들은 지독한이다.
제목은 이것이다 :
collection_select (객체 방법, 컬렉션 value_method, text_method 옵션 = {} = {} html_options)
그리고 이것은 그들이 제공하는 유일한 샘플 코드는 다음과 같습니다
collection_select (: 포스트 : author_id, Author.all : ID : name_with_initial, => 진정한 프롬프트)
누군가가 간단한 연결을 사용하여 설명 할 수 (사용자 has_many 계획 말을하고, 계획은 사용자에 속하는), 제가 구문에 왜 사용하려면?
편집 1 : 그것은 form_helper 또는 일정한 형태의 내부 작동 방식을 설명하는 경우 또한, 좋지 않을까. 당신은 웹 개발을 이해하지만, 레일에 '비교적 새로운'는 웹 개발자에게이 설명되어 있습니다 상상 해보세요. 당신은 어떻게 설명 할 것인가?
해결법
-
==============================
1.
collection_select( :post, # field namespace :author_id, # field name # result of these two params will be: <select name="post[author_id]">... # then you should specify some collection or array of rows. # It can be Author.where(..).order(..) or something like that. # In your example it is: Author.all, # then you should specify methods for generating options :id, # this is name of method that will be called for every row, result will be set as key :name_with_initial, # this is name of method that will be called for every row, result will be set as value # as a result, every option will be generated by the following rule: # <option value=#{author.id}>#{author.name_with_initial}</option> # 'author' is an element in the collection or array :prompt => true # then you can specify some params. You can find them in the docs. )
아니면 예를 들어 다음과 같은 코드로 표현 될 수있다 :
<select name="post[author_id]"> <% Author.all.each do |author| %> <option value="<%= author.id %>"><%= author.name_with_initial %></option> <% end %> </select>
이것은하지만 FormOptionsHelper에서의 FormBuilder 설명되어 있지 않습니다
-
==============================
2.나는 선택 태그 자신의 순열에 많은 시간을 할애 하였다.
나는 선택 태그 자신의 순열에 많은 시간을 할애 하였다.
collection_select는 개체의 컬렉션에서 선택 태그를 작성합니다. 이 점을 염두에 유지,
객체 : 객체의 이름입니다. 이 태그의 이름을 생성하는데 사용되며, 상기 선택된 값을 생성하는데 사용된다. 이것은 실제 객체 또는 상징이 될 수 있습니다 - 후자의 경우에, 그 이름의 인스턴스 변수하여 ActionController의 결합에 대한 검색됩니다 (이다 : 컨트롤러에 @post라는 인스턴스 VAR에 대한 포스트 모습을.)
방법 : 메서드의 이름입니다. 이것은, 즉 .. 태그의 이름을 생성하기 위해 당신이 선택에서 얻을하고자하는 객체의 속성을 사용
모음 : 개체의 컬렉션
value_method : 컬렉션 오브젝트마다,이 방법은 값을 사용
text_method : 컬렉션 오브젝트마다,이 방법은 텍스트 디스플레이에 사용
선택적 매개 변수 :
옵션 : 당신이 통과 할 수있는 옵션을 선택합니다. 이러한 제목 옵션에서 여기에 설명되어 있습니다.
html_options : 무엇이든은, 여기에 전달되는 간단하게 생성 된 HTML 태그에 추가됩니다. 당신은 클래스, ID 또는 다른 속성을 제공하려면, 여기 간다.
귀하의 관계는 다음과 같이 작성할 수 있습니다 :
collection_select (: 사용자 : plan_ids, Plan.all : 아이디, 이름, {이 : 프롬프트 => 사실, : 여러 => TRUE})
예를 들어 form_for, 내에있는 모든 태그에, 아주 간단한 용어로 다시 form_for를 사용에 관해서. f.text_field, 당신은 첫 번째 (객체) 매개 변수를 제공 할 필요성을 해달라고. 이것은 form_for 구문에서 가져옵니다.
from https://stackoverflow.com/questions/8907867/can-someone-explain-collection-select-to-me-in-clear-simple-terms by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 에 WEBrick 반응이 매우 느립니다. 어떻게 속도를하려면? (0) | 2020.02.06 |
---|---|
[RUBY-ON-RAILS] 레일 + MySQL의 OSX에 : 라이브러리로드되지 : libmysqlclient.18.dylib를 (0) | 2020.02.06 |
[RUBY-ON-RAILS] 무엇 도우미 수행하고 helper_method은 무엇입니까? (0) | 2020.02.06 |
[RUBY-ON-RAILS] 어떻게 Gemfile에 로컬 보석을 지정할 수 있습니다? (0) | 2020.02.06 |
[RUBY-ON-RAILS] 레일의 고유 한 토큰을 만들 수있는 가장 좋은 방법은? (0) | 2020.02.06 |