1

レコードに使用する場合form_for、フォーム タグ内のすべての入力タグには、 , のようidな値を持つ属性が自動的に含まれます。id="post_3_title"id="post_3_content"

私の場合、これらの名前を取得して、JavaScript コードを動的に作成したいと考えています。これを行う方法はあるのだろうか。何か案は?

ご協力ありがとうございます。

4

1 に答える 1

1

でソースコードを見つけましたactionpack-3.2.12/lib/action_view/helpers/form_helper.rb:1218

    def tag_name_with_index(index)
      "#{@object_name}[#{index}][#{sanitized_method_name}]"
    end

    def tag_id
      "#{sanitized_object_name}_#{sanitized_method_name}"
    end

    def tag_id_with_index(index)
      "#{sanitized_object_name}_#{index}_#{sanitized_method_name}"
    end

    def sanitized_object_name
      @sanitized_object_name ||= @object_name.gsub(/\]\[|[^-a-zA-Z0-9:.]/, "_").sub(/_$/, "")
    end

    def sanitized_method_name
      @sanitized_method_name ||= @method_name.sub(/\?$/,"")
    end

それらをうまく利用できるようですが、すべてプライベートメソッドです。別の解決策は、このようないくつかのヘルパーメソッドを実装することだと思います。

于 2013-02-28T07:19:56.800 に答える