2012-11-23 4 views
1

저는 레일스에서 ​​새로 왔으며 웹 및 서적을 검색했지만 레일로 작업 할 때 사용자 정의 양식을 작성하는 방법을 찾지 못했습니다 .. 무슨 일이 생기는 것은 내 자신을 작성하는 데 사용된다는 것입니다 HTML 태그와 나는 그것과 편하지 않다. 나를 위해 HTML 구성 요소를 씁니다 (JAVA)에서 JSF와 같은 libs와 사용하려는 해달라고 내가 그나마 레일rails 사용자 정의 html 요소 양식

text_field(:post, :title, :size => 20) 
# => <input type="text" id="post_title" name="post[title]" size="20" value="#{@post.title}" /> 

처럼 간단한 태그를 제외하고, 나를 위해 그것을 쓰기 때문에 .. 내가 어떻게 할 수 있다고합니다. 예 : 저는 직접 편지를 쓰고 싶습니다.

<input type="text" class="myclass" data="mydata" name="how-to-get-the-attribute-name-with-rails" value="how-to-get-value-with-rails" /> 

어떻게 할 수 있습니까? 그래서

<input type="text" class="myclass" data="mydata" name="how-to-get-the-attribute-name-with-rails" value="how-to-get-value-with-rails" /> 

당신은 단순히 레일 형태의 내부 HTML을 작성할 수 있습니다

답변

1

, 레일의 모든 양식 필드의 이름은 다음과 같은 형식

name = 'post[name]' i.e. model_name[attribute_name] 

에 사용 :post => {:name => value}을 사용하면 물질 할당을 사용할 수 있습니다. 그러나 양식에서 추가 매개 변수를 가져 오려면 양식에 직접 매개 변수를 포함하고 원하는대로 이름을 지정할 수 있습니다. params 해시에서 사용할 수 있습니다.


쉽게 value = <%= @object.attribute_name. %> 를 사용하여 값을 얻을 수 있습니다 당신이 또는 뭔가를 알고 싶은 경우에 확실하지 않다. 도움이 더 필요하면 알려주세요.

0

은 완벽하게 유효하지만 당신이 자동으로 백 엔드 컨트롤러에 바인딩하는 올바른 방법으로 이름과 아이디의를 사용해야 있습니다.

결국 text_field(:post, :title, :size => 20)은 매개 변수를 순수 HTML (우리는 Rails에서 헬퍼 메서드라고 부름)로 변환합니다.

formhelper 옵션에 대해 here을 읽으십시오 (도우미를 사용하면 코드를 깨끗하게 유지할 수 있습니다).

+0

@ sameera207에 감사하지만이 이름과 ID를 올바른 방법으로 얻으려면 제가 원하는 것만 큼 좋습니다.하지만 레일에서 무언가를 호출하고 싶습니다. 그게 방법입니까? – thiagoh

+0

@thiagoh, 실제로 레일 도우미 메서드에서 거의 모든 것을 구성 할 수 있습니다. 귀하의 질문에 맞을 경우, 나는 'joofsh', 당신에게 대답을 주신 것, 그것이 도움이되는지 알려주십시오 :) – sameera207

2

작성중인 HTML보다 효율적으로 관리를 원하는 경우에, 당신은 또한 content_tag

content_tag :input, "label_name", class: "myclass", data: "mydata", name: "how-to-get-the-attribute-name-with-rails", value: "how-to-get-value-with-rails" 

당신은 :input에 대한 모든 HTML 요소 태그를 보완 할 수 있습니다 사용할 수 있습니다. 대신 사업부를 원한다면, 그래서 PARAMS 해시에 포함될 등 :div ... 위에서 쓴 것처럼

관련 문제