2017-01-06 4 views
1

私は、この作品のようなもの持ってしようとしています:HAMLテーブルデータ]ラジオボタン

- @ordered_articles.each do |x| 
    %tr 
    %td= x.short_title 
    %td= x.label.nil? ? '' : x.label.title 
    %td= published_at(x) 
    %td= last_update(x) 
    %td= x.radio_button :checked =>"false" 

を私はエラーを取得:

RADIO_BUTTON私はおそらくこれが仕事を得ることができる方法任意のアイデアを未定義のメソッドを?

+0

あなたはレールを使用する必要があります。このHTTPを行うためにヘルパーを形成://guides.rubyonrailsを。 org/form_helpers.html – Iceman

+0

すごく感謝//// – jj1111

答えて

1

フォーム要素を表要素内に配置すると、通常はエラーが発生します。

テーブルの代わりにdivを使用するか、個々のフォームをtd要素の内部に配置することをお勧めします。例えば

%td 
    = form_for @something, html: {id: "radio-form" } do |f| 
    = f.radio_button :checked =>"false" 
    = f.submit style: 'display: none;' 

その後、変化に提出するいくつかのJavaScriptを追加します。

$(document).ready(function(){ 
    $("#radio-form input[type=radio]").change(function() { 
    $(#radio-form").trigger("submit.rails"); 
    }); 
}); 
+0

'div'や' td'は本当にここで問題にはなりません。テーブル内にフォーム要素を持つことには何も問題はありません。それはいくつかの純粋主義者を怒らせるかもしれませんが、それは決して悪いことではありません。 – Iceman