0

turkeeを機能させようとすると、 reverse_merge が発生しますundefined method!」nil:NilClass` エラーの場合。

私のコード:

class MechanicalTurksController < ApplicationController
  def new
    @mechanical_turk = MechanicalTurk.new
    @disabled = Turkee::TurkeeFormHelper::disable_form_fields?(params)
  end
end

<%= turkee_form_for(@mechanical_turk, params) do |f| %>
    <%= f.label :first_name %>
    <%= f.text_field :first_name, disabled: @disabled %>

    <br />
    <%= f.submit "Save", class:"btn btn-primary", disabled: @disabled %>
<% end %>

class MechanicalTurk < ActiveRecord::Base

end

params問題はハッシュだと思います。何かが足りないと思います。ドキュメントによると

Mechanical Turk では、hitId、workerId、および turkSubmitTo パラメーターを、assignmentId および form パラメーターと共に渡す必要があります。

ログからの出力は次のとおりです。

Started GET "/mechanical_turks/new?assignmentId=ASSIGNMENT_ID_NOT_AVAILABLE&hitId=2Z2MN9U8P9Y3B78UW1US1YIM5R7VEG" for 208.54.40.228 at 2012-05-08 17:35:24 -0400
Processing by MechanicalTurksController#new as HTML
  Parameters: {"assignmentId"=>"ASSIGNMENT_ID_NOT_AVAILABLE", "hitId"=>"2Z2MN9U8P9Y3B78UW1US1YIM5R7VEG"}
  Rendered mechanical_turks/new.html.erb within layouts/application (0.9ms)
Completed 500 Internal Server Error in 2ms

ActionView::Template::Error (undefined method `reverse_merge!' for nil:NilClass):
    1: <%= turkee_form_for(@mechanical_turk, params) do |f| %>
    2:     <%= f.label :first_name %>
    3:     <%= f.text_field :first_name, disabled: @disabled %>
    4: 
  app/views/mechanical_turks/new.html.erb:1:in `_app_views_mechanical_turks_new_html_erb___897197135_79286580'

GitHubにも問題を投稿しました。

4

1 に答える 1

0

github からの最新リリースを使用し、現在動作します。

于 2012-05-09T19:05:31.327 に答える